我见过很多使用php邮件功能的例子.其中一些使用\ r \n作为标题的换行符,有些使用\n.
$headers = "From: Just Me\n";
$headers .= "Reply-To: Just me <$email>\n";
Run Code Online (Sandbox Code Playgroud)
VS
$headers = "From: Just Me\r\n";
$headers .= "Reply-To: Just me <$email>\r\n";
Run Code Online (Sandbox Code Playgroud)
哪一个是正确的?
有时我会遇到使用\ r \n并且某些电子邮件客户端将部分标题解释为邮件文本(丢失这些标题信息)的情况 - 这是因为\ r \n是错误的吗?
Rus*_*ias 22
\r\n
应该根据php文档使用CRLF .此外,为了符合RFC 2822规范线必须由回车符进行分隔,CR \r
立即随后换行,LF \n
.
由于\r\n
Windows平台和\n
Unix 是原生的,因此您可以在Windows上使用PHP_EOL
Docs常量,这是脚本当前运行的平台的相应新行字符.
小智 11
以防万一搜索引擎选择了这个并节省了其他人我遇到的挫折:这是一个额外的好奇心.
在Linux上的php 5.2x上,我在php mail()中的电子邮件标题上\ r \n,升级到php 5.3.3后,格式化和发送神秘失败.删除\ r \n修复了脚本(在检查了许多其他可能性之后).
小智 8
如上所述,\ r \n是您应该根据RFC使用的内容,但这会破坏您在多个邮件系统上的标题(文件Outlook 2003).即使\n不是'正确'的换行符,根据我的经验,它在我到目前为止遇到的所有邮件系统上都能正常工作.因此,我总是只使用\n.
归档时间: |
|
查看次数: |
24138 次 |
最近记录: |