Simple question...
I have seen people tell me to use "\r\n" in various places and others tell me to use "\n" in the same place. I'm sure one is right and one is wrong. Example - when designing mail() headers:
Tutorial #1:
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: [email protected]\r\nReply-To: [email protected]";
//add boundary string and mime type specification
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
Tutorial #2 (notice the header argument):
mail($to, $subject, $body,
"From: " . $from . "\n" .
"bcc: " . $bcc . "\n" .
"MIME-Version: 1.0\n" .
"Content-Type: multipart/alternative;\n" .
" boundary=" . $mime_boundary_header)
I am confused, but clearly it makes somewhat of a difference, because with one, my headers worked, and with the other they only sometimes work.
\r\n are end of line characters for Windows systems.
\n is the end of line character for UNIX systems.
These characters are invisible. From my own experience \n is usually okay for Windows as well.
Some prefer to use PHP_EOL constant instead of these characters for portability between platforms.
echo 'hi' . PHP_EOL;
echo "hi\n";
$headers = "From: [email protected]" . PHP_EOL
. "Reply-To: [email protected]";
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With