newline не работает в PHP-почте

Я использую следующее, чтобы отправить электронное письмо:

<php .... $message = 'Hi '.$fname.', \r\n Your entries for the week of ' .$weekof.' have been reviewed. \r\n Please login and View Weekly reports to see the report and comments. \r\n Thanks, \r\n'.$myname; mail($to, $subject, $message, $from); ?> 

Когда сообщение получено, он не запускает новую строку на «\ r \ n», а просто печатает их как часть сообщения.

Я только пробовал это в Thunderbird 3, а не других клиентов.

Попробуйте изменить ' to " – php интерпретирует строку внутри одинарных кавычек как литералов, тогда как с кавычками ( " ) она расширяет \r\n до того, что вы хотите.

Дополнительная информация: http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.single

Не ответ на вопрос, но может помочь кому-то.

Отправьте сообщение HTML, а вместо \ n используйте <BR> .

И используйте <PRE></PRE> или CSS для предварительно отформатированного текста, переведя \ n на реальные новые строки.

 $headerFields = array( "From: who@are.you", "MIME-Version: 1.0", "Content-Type: text/html;charset=utf-8" ); mail($to, $subj, $msg, implode("\r\n", $headerFields)); 
 <?php .... $message = "Hi ".$fname.", \r\n Your entries for the week of " .$weekof." have been reviewed. \r\n Please login and View Weekly reports to see the report and comments. \r\n Thanks, \r\n".$myname; mail($to, $subject, $message, $from); ?>