Re: Beginner Questions regarding Mail and Forms
| From: | Németh Zoltán | Date: | Mon, 12 Feb 2007 11:27:00 +0000 |
| Subject: | Re: Beginner Questions regarding Mail and Forms | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-248748@lists.php.net to get a copy of this message | ||
On h, 2007-02-12 at 11:13 +0100, Matthias S. wrote:
> Hi there,
>
> I've got two bloody beginner questions: I've created a form with various
> text input fields. One is to hold a numeric value (age). Upon submission, I
> try to retrieve the value of this field like this:
>
> $age = $_POST['_txtAge'];
>
> later, I use the $age variable to create a message...
>
> $message = "Name: " . $name . "\n";
> $message .= "Email: " .$email . "\n";
> $message .= "Age: " . $age . "\n";
> $message .= "Gender: " . $gender . "\n";
> $message .= "Info: " . $info;
>
> .... then I send the message:
>
> mail("bla@bla.com", "A Request", $message, _getMailHeaders($name, email));
>
> Now on to my questions:
> $message contains the values of all fields correctly except the age field
> (input of all others are alphabetic, only age has numeric content). Why is
> this?
what do you mean by incorrect? what is the test input you give and what
result do you get?
>
> Secondly, mail sends my message correctly. But the return adresse set in
> _getMailHeaders is not used. Instead, some identification from the server is
> used. Why is that?
it is (if you use sendmail on the server) because sendmail sets reply-to
to the user running it by default. so it gets set to the user the script
runs as (usually www-data or something like that). it can be overridden
by the "-f" switch I think. like this:
mail($to, $subject, $message, $headers, "-f".$frommail);
hope that helps
Zoltán Németh
>
> Here the function _getMailHeaders:
>
> function _getMailHeaders($senderName, $senderAddress) {
>
> ini_set(sendmail_from, $senderAddress);
>
> $headers = 'MIME-Version: 1.0' . "\r\n";
> $headers .= 'Reply-To: ' . $senderName .'<'. $senderAddress.
> '>' . "\r\n";
> $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
> $headers .= 'To: PostOffice <postoffice@barkatdogs.com>' . "\r\n";
> $headers .= 'From: ' . $senderName . '<' . $senderAddress .
> '>' . "\r\n";
>
> ini_restore(sendmail_from);
> return $headers;
> }
>
> Any help is greatly appreceated.
>
> Matthias
>