换行未显示在电子邮件中(PHP)

时间:2012-03-05 12:14:58

标签: php email newline

我的应用程序发送的电子邮件中使用了以下字符串:

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

\ n没有出现在电子邮件中 ​​- 任何想法为什么?

我正在使用PHPMailer(旧的我知道..)

4 个答案:

答案 0 :(得分:5)

如果您以HTML格式发送电子邮件,则需要将\n替换为<br>

答案 1 :(得分:2)

而不是\ n \ n您可以使用<br/>标记。试一试。这可能对你有所帮助。

答案 2 :(得分:2)

由于您可能制作了html电子邮件,因此未显示换行符。 尝试添加$msg = nl2br($msg);,将\ n转为<br/>

答案 3 :(得分:0)

发送html电子邮件有新问题。垃圾邮件过滤器严格执行rfc5322并且不接受任何行长度&gt; 998个字符。 见https://www.ietf.org/rfc/rfc5322.txt - &gt; par 2.1.1 将html br标记添加到大型html文件仍然会产生单个文本行。

解决方案是使用包装器(即使在发送html时也是如此)     $ message = wordwrap($ message,70);

在我的情况下(发送大型类似CSV的数据集)我必须确保html中有空格允许包装工作。 电子邮件客户端显示的html结果没有视觉效果。