новая строка не отображается в электронной почте (PHP) - PullRequest
0 голосов
/ 05 марта 2012

У меня есть строка, подобная следующей, используемая в электронном письме, отправленном моим приложением:

$msg = "{$name} has submitted an email for review.\n\n You can preview the email here";

\ n не появляется в письме - есть идеи, почему?

Я использую PHPMailer (старый я знаю ..)

Ответы [ 4 ]

5 голосов
/ 05 марта 2012

Если вы отправляете письмо в формате HTML, вам нужно заменить \n на <br>

2 голосов
/ 05 марта 2012

Новая строка не показывается, потому что вы, вероятно, пишете html письмо. Попробуйте добавить $msg = nl2br($msg);, который превращает \ n в <br/>

2 голосов
/ 05 марта 2012

Вместо \ n \ n Вы можете использовать тег <br/>. Попробуйте это один раз. Это может помочь вам.

0 голосов
/ 06 июля 2017

Возникла новая проблема с отправкой html-письма. Спам-фильтры строго соблюдают rfc5322 и не допускают длину строки> 998 символов. См. https://www.ietf.org/rfc/rfc5322.txt -> п. 2.1.1. Добавление тега html br в большой файл html все равно приводит к появлению одной текстовой строки.

Решение состоит в том, чтобы использовать оболочку (да, даже при отправке html), например $ message = wordwrap ($ message, 70);

В моем случае (отправка больших CSV-подобных наборов данных) я должен был убедиться, что в html есть пробелы, позволяющие работать переносу. Нет визуального эффекта на результат html, как показывает почтовый клиент.

...