【问题标题】:Do you use word wrapping within emails?您在电子邮件中使用自动换行吗?
【发布时间】:2010-10-02 08:05:41
【问题描述】:

我想知道是否应该在文本电子邮件中应用自动换行?那么 HTML 电子邮件呢?如果是这样,你通常会用什么字符换行?

【问题讨论】:

标签: email word-wrap


【解决方案1】:

RFC 2646 说:

Text/Plain 媒体类型是 Internet 电子邮件的最小公分母,行数不超过 997 个字符(按照惯例,通常不超过 80 个)

另一个流行的标准是在 72 个字符处换行。这可以追溯到许多控制台应用程序(如 EDIT 和许多 BBS 界面),它们在 ASCII“窗口”中显示文本,包括边框和滚动条,允许显示的字符略少于 80 个。

【讨论】:

  • 同意。我总是在 80 处换行,如果这样会破坏一个单词,我会在小于 80 处换行,只要第一个空格或换行符在第 80 个字符之前。
【解决方案2】:

Google 说结果 1 - 10 大约...

3,160 for +word +wrap +email +"80 characters"
2,820 for +word +wrap +email +"50 characters"
1,790 for +word +wrap +email +"60 characters"
1,720 for +word +wrap +email +"70 characters"
1,540 for +word +wrap +email +"100 characters"
1,250 for +word +wrap +email +"65 characters"
1,120 for +word +wrap +email +"40 characters"
  962 for +word +wrap +email +"75 characters"
  836 for +word +wrap +email +"72 characters"

【讨论】:

  • 谷歌只能告诉你人群在哪里......如果它朝着正确的方向前进则不能:-)
  • 当然,但是这个问题的要点主要是人群要去哪里:)
【解决方案3】:

通常在 72 处换行(80 也很常见,但这意味着引用时它将超过 80)以处理至少一两个级别的引用。有“text/flowed” MIME 类型,这意味着客户端将在窗口边界处自动包装文本,但没有多少客户端支持它。只需将您的编辑器设置为 72 换行,您就可以安全地被大多数人阅读。

编辑:确切的类型是text/plain,加上format=flowed,如下所示:

Content-Type: text/plain; format=flowed

请参阅rfc2646 了解详情。

应该避免使用 HTML 邮件 IMNSHO,并不是每个人都在浏览器中阅读邮件或拥有支持 HTML 的邮件客户端。大多数使用 HTML 的理由(用下划线、粗体等来丰富邮件)都可以模拟。 HTML 不需要包装,因为客户端会适应窗口大小。

HTML 的替代方案是“text/enriched”MIME 类型,它为您提供了 HTML 邮件的大部分优点而无需麻烦,但同样可能并非所有地方都支持。

请参阅here 了解文本/丰富内容。

【讨论】:

    【解决方案4】:

    我经常发现自己开始电子邮件回复:

    [Format recovered--see http://www.lemis.com/grog/email/email-format.php]
    

    我从 Greg Lehey 那里得到的。 that page 的一部分说:

    显然,必须有某种方式来指定不应包装消息文本。那是文本/纯文本。有允许包装的特殊 MIME 附件类型,尽管我仍然认为这是一个坏主意。如果您指定您的消息可能会被包装,那么您就是在假设接收者的屏幕看起来像什么。即使你在某些时候是对的,你也不可能一直都是对的。例如,一个人可能有一个 200 个字符宽的屏幕,以便能够显示长日志文件条目,但他不希望看到那么长的文本。

    【讨论】:

    • @JamesDaily 谢谢,~2011 年旧链接开始重定向到 *.php 链接,并且在过去六个月的某个时候停止了。如果上面的链接在此处停止,则供将来参考是archive.org link
    【解决方案5】:

    RFC 5322

    https://www.rfc-editor.org/rfc/rfc5322#section-2.1.1

    2.1.1。行长限制

    本规范对数量有两个限制 一行中的字符。每行字符必须不超过 998 个字符,并且应该不超过 78 个字符,不包括 CRLF。

    998 个字符的限制是由于许多实现中的限制 发送、接收或存储根本无法处理的 IMF 消息 一行超过 998 个字符。接收实现将 很好地处理一行中任意数量的字符 为了健壮性。然而,有这么多的实现 (符合 [RFC5321] 的传输要求)不 接受包含超过 1000 个字符的消息,包括 CR 和 LF 每行,重要的是实现不要创建 此类消息。

    比较保守的78个字符推荐是为了容纳 显示这些的用户界面的许多实现 可能会截断或灾难性地包装显示的消息 每行超过 78 个字符,尽管这样的事实 实现不符合这个意图 规范(以及 [RFC5321] 的规范,如果它们实际上导致 信息丢失)。同样,即使设置了这个限制 在消息上,显示的实现有责任 处理任意大量字符的消息 行(当然至少要达到 998 个字符的限制) 鲁棒性。

    另请参阅:RFC2045、RFC2046、RFC2047、RFC2049、RFC4289 和 RFC6838 以了解 MIME 规范。

    阅读 RFC 很有趣。你知道你喜欢它:-)

    【讨论】:

      【解决方案6】:

      JavaMail 这样的优秀邮件 API 将为您完成这项工作。理想情况下,您不必明确考虑这个问题。

      【讨论】:

      • 同意,并且在所有较新的网站上我都使用图书馆。不幸的是,在这个网站上,它太旧了,我没有添加一个。
      【解决方案7】:

      一般情况下,您应该在 80 处换行,或者更小一点,以允许不知情的客户在不换行的情况下进行报价。

      【讨论】:

        【解决方案8】:

        在第 72 位之前的第一个空白字符处换行,如果没有,则在第 72 位换行。在 Eudora 中,当我使用它时,约定是在行尾留一个空格表示它已被换行,因此它会向接收客户端发出信号,根据行的宽度在任何需要的地方重新排列段落客户的窗口。我不确定当前的电子邮件客户端是否属于这种情况。

        【讨论】:

        • 我认为尾随字符(无论是空格、连字符还是其他可换行的标点符号)应该始终保留。
        【解决方案9】:

        在我切换到 mutt/xterm 之前没有使用换行符(从不回头)。

        【讨论】:

          猜你喜欢
          • 2014-03-19
          • 2019-09-19
          • 1970-01-01
          • 1970-01-01
          • 2021-07-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-03
          相关资源
          最近更新 更多