【问题标题】:Is it necessary to wrap long lines when sending emails?发送电子邮件时是否需要换行?
【发布时间】:2011-02-11 09:23:36
【问题描述】:

我正在使用 Zend_Mail 发送电子邮件。很少有文章(例如 this page 上的第一个示例)建议在消息正文中包含长行。

问题:

  1. 是否有必要使用 wordwrap(),以防任何一行超过 70 个字符?

  2. 这个“70”数字从何而来?

【问题讨论】:

    标签: php zend-framework email word-wrap zend-mail


    【解决方案1】:

    RFC 28225322 有一个名为 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

    【讨论】:

      猜你喜欢
      • 2013-08-26
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 2019-02-28
      • 1970-01-01
      • 2020-07-26
      • 2018-05-05
      • 1970-01-01
      相关资源
      最近更新 更多