我有一个字符串,大约有100行,与此类似
My name is John. \r\n I am a boy. \r\n I am so in so
这里上面的字符串是来自备份,所以当我使用PHP邮件函数发送邮件时,它应该输出如下。
My name is John.
I am a boy.
I am so in so
但不幸的是,它给予了我这个输出。
My name is John. I am a boy. I am so in so
我使用的方法与此类似。
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-type:text/html;charset=UTF-8\r\n";
$msg = "Above Str";
mail(to@user, Subject, $msg, $header);
有谁能帮忙把这件事办得妥当些吗?
4条答案
按热度按时间xnifntxz1#
这个
告诉客户端将其呈现为HTML,其中不呈现换行符。
如果您希望它是HTML格式,您可以尝试:
将换行符转换为HTML
<br />
。如果希望客户端将其呈现为文本而不是HTML,请将内容类型更改为
text/plain
:falq053o2#
在发送邮件之前,你可以尝试使用PHP的nl2br()函数将字符串中的换行符转换为HTML换行符:
这会将字符串中的换行符\r\n转换为HTML换行符
在发送电子邮件之前。
qkf9rpyu3#
您指定了
Content-type: text/html
,所以您的电子邮件正文是一个HTML文档。因此,就像构建普通网页一样,换行符本身没有可见效果。使用段落(
<p>...</p>
)或<br>
来获得您想要的结果。ql3eal8s4#
对于这种类型的输出,你只需要创建一个单独的页面,并添加所有你想通过邮件发送的内容。然后$msg =加载页面;然后在这里调用或加载你的那个页面,你的代码就会开始工作,试试看