Re: mail() silly question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/1/07, Rodrigo Poblanno Balp <balpo@xxxxxxx> wrote:
> I have a question that might be too silly for those of you who are PHP
> gurus.
>
> Here it comes:
>
> I had a mail (specifically in the headers) function call like this:
>
> $header = "";
> $header .= 'From: info@xxxxxxxxxxxxxxxxxxxx\r\n";
> $header .= 'MIME-Version: 1.0\r\n";
> $header .= 'Content-type: text/html; charset=iso-8859-1\r\n";
> $header .= "Reply-To: ".utf8_decode($nombreVar)."
> ".utf8_decode($apellidosVar)."<$mailVar>\r\n";
> $header .= "X-Mailer: PHP/".phpversion()."\r\n";
> $header .= "X-Priority: 1";
>
> and the mail(...) function always returned TRUE, but the mail was NOT sent.
>
> After hours of... trial/error debugging, I noticed from an example that
> it should be:
>
> $header = "";
> $header .= 'From: info@xxxxxxxxxxxxxxxxxxxx' . "\r\n";
> $header .= 'MIME-Version: 1.0' . "\r\n";
> $header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
> $header .= "Reply-To: ".utf8_decode($nombreVar)."
> ".utf8_decode($apellidosVar)."<$mailVar>\r\n";
> $header .= "X-Mailer: PHP/".phpversion()."\r\n";
> $header .= "X-Priority: 1";
>
> Question:
>
> Why? What's the real difference between
>     $header .= 'From: info@xxxxxxxxxxxxxxxxxxxx' . "\r\n";
> and
>     $header .= 'From: info@xxxxxxxxxxxxxxxxxxxx\r\n";

Actually that's a parse error ;) You have a single quote at the start
and double at the end.

Anyway, the reason is interpolation. See
http://www.php.net/manual/en/language.types.string.php

Under "Single quoted":

.. escape sequences for special characters will not be expanded when
they occur in single quoted strings.

So you end up with a literal '\r\n' at the end of the line, not an
actual carriage return & newline that you expect.

-- 
Postgresql & php tutorials
http://www.designmagick.com/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux