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, а не других клиентов.
Ответы
Ответ 1
Попробуйте изменить '
на "
- php интерпретирует строку внутри одинарных кавычек как литералы, тогда как с кавычками ("
) она расширяет \r\n
до того, что вы хотите.
Дополнительная информация: http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.single
Ответ 2
Не ответ на вопрос, но может помочь кому-то.
Отправьте HTML-сообщение, а вместо \n используйте <BR>
.
И используйте <PRE></PRE>
или CSS для предварительно отформатированного текста, переведя \n на новые новые строки.
$headerFields = array(
"From: [email protected]",
"MIME-Version: 1.0",
"Content-Type: text/html;charset=utf-8"
);
mail($to, $subj, $msg, implode("\r\n", $headerFields));
Ответ 3
<?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);
?>