发送电子邮件时是不是需要换行?
Posted
技术标签:
【中文标题】发送电子邮件时是不是需要换行?【英文标题】:Is it necessary to wrap long lines when sending emails?发送电子邮件时是否需要换行? 【发布时间】:2011-02-11 09:23:36 【问题描述】:我正在使用 Zend_Mail 发送电子邮件。很少有文章(例如 this page 上的第一个示例)建议在消息正文中包含长行。
问题:
是否有必要使用 wordwrap(),以防任何一行超过 70 个字符?
这个“70”数字从何而来?
【问题讨论】:
【参考方案1】:RFC 2822 和 5322 有一个名为 Line Length Limits (2.1.1) 的部分:
本规范对数量有两个限制 一行中的字符。每行字符必须不超过 998 个字符,并且应该不超过 78 个字符,不包括 CRLF。
...
比较保守的78个字符推荐是为了容纳 显示这些的用户界面的许多实现 可能会截断或灾难性地包装显示的消息 每行超过 78 个字符,尽管这样的事实 实现不符合这个意图 规格
在我看来,真正的限制是 998 个字符,而 78 个字符是你真的不需要费心的。
【讨论】:
+1 听起来你是对的。我没有参考资料,但是以纯文本形式发送的 Yahoo webmail 换行长度超过 969 个字符。所以假设在雅虎邮件他们知道他们在做什么,我会说以相同的长度包装:969 但是 Outlook Express 和 Squirrelmail 1.4.23 网络邮件(发送纯文本邮件时)仍然在第 76 个字符(Outlook)和第 73 个字符(Squirrelmail)处换行 而且 Gmail 在发送纯 tesxt 时也会在第 69 个字符处换行。【参考方案2】:AFAIR,70 ~ 78,更可能是 80 的“保存”版本,来自良好的旧终端,每行显示 80 个字符。在早期,这些终端只是愚蠢的打印机,需要在服务器上准备好它们的输出。这 80 又来自于好的旧打孔卡。打孔卡的物理尺寸(因此与 80 的限制有些密切相关)来自通常用于存放打孔卡的钱盘。
人类和技术很难摆脱旧习惯。我推荐第一个 Crockford 关于 javascript 的谈话以了解更多历史:http://yuiblog.com/crockford
【讨论】:
以上是关于发送电子邮件时是不是需要换行?的主要内容,如果未能解决你的问题,请参考以下文章