首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP () docs说我应该只在主体中使用LF,而RFC 5322则相反。

问PHP () docs说我应该只在主体中使用LF,而RFC 5322则相反。
EN

Stack Overflow用户
提问于 2011-07-25 21:52:14
回答 2查看 701关注 0票数 4

PHP手册(http://php.net/manual/en/function.mail.php)说:

每一行应用LF (\n)分隔。行不应大于70个字符。

但实际的RFC 5322提供了完全不同的信息:

2.3。正文消息的正文仅仅是由US-ASCII字符组成的行。对该机构的唯一两个限制如下: O CR和LF只能作为CRLF一起发生;它们不能在身体中独立出现。正文中的字符行必须限制在998个字符,并且应该限制在78个字符,不包括CRLF。

所以RFC说只应该使用\r\n。我不明白-- php mail()在后台是如何工作的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-25 22:38:03

php mail()在后台是如何工作的?

和你想象中的一模一样。默认情况下,它只是大多数系统上sendmail二进制文件的包装器,以及一个非常简单的MUA,其中指定了SMTP主机。前者使用LF作为输入的结尾行,而后者则需要CRLF来输出--由于行尾随操作系统而异,PHP为邮件(LF)提供了统一的行尾。

票数 1
EN

Stack Overflow用户

发布于 2011-07-25 21:58:46

显然,PHP mail()必须在后台将\n转换为\r\n。

这类似于使用Perl实践来表示“逻辑”换行符,然后根据操作系统在内部翻译它们。由于PHP的部分灵感来自Perl,所以PHP中存在类似的机制并不令人惊讶。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6822819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档