为什么网页版的 Gmail 会在邮件内容换行时不使用 标记中断位置=
,这使得电子邮件处理变得非常困难:
查看gmail发送的原始邮件内容:
Mac OS X Mail 发送的这封邮件:
编辑:
正如Brandon Invergo所说,他们使用不同的编码方法。很抱歉,我说 GMail 不合适。
编辑2:
他们的原始内容是:
它们被包裹在 Gmail 中,我猜是根据word-wrap algorithm。
为什么网页版的 Gmail 会在邮件内容换行时不使用 标记中断位置=
,这使得电子邮件处理变得非常困难:
查看gmail发送的原始邮件内容:
Mac OS X Mail 发送的这封邮件:
编辑:
正如Brandon Invergo所说,他们使用不同的编码方法。很抱歉,我说 GMail 不合适。
编辑2:
他们的原始内容是:
它们被包裹在 Gmail 中,我猜是根据word-wrap algorithm。
所以,这里有两个不同的问题,GMail 正在以“不同的方式”处理其中一个问题,而其中一个是“错误的方式”。
首先是编码问题。你是对的;GMail 默认使用纯文本邮件的 UTF-8 字符集,而 Mac OS X Mail 使用 Quoted Printable,即 MIME 内容传输编码。
第二个问题是换行。RFC 2822 规定行数应为 78 个字符或更少(不包括 CR+LF。Google 通过(相当积极地)引入硬自动换行来解决这个问题,这种换行在较小的屏幕上显示时看起来很难看,等等。大多数其他邮件客户端使用引用 printable 的特性来引入软换行符以符合此建议。这允许邮件客户端区分“硬”(即用户意图)和“软”(即由客户端引入)换行符之间的区别。
没有理由 GMail 不能使用这个 Quoted Printable 约定来代替 UTF-8,或者使用 Format=Flowed (RFC 2646, FAQ) 来实现相同的结果。这些都已经存在了一段时间,在我看来,GMail 强制对纯文本用户进行自动换行有点愚蠢。
这整个情况的一个很好的入门是在这里。
GMail 正在使用UTF-8 字符编码发送文本,如内容类型中所示。Mac 电子邮件客户端使用Quoted-printable编码发送。两者都用于发送 ASCII 范围之外的字符。GMail 发送 8 位干净消息,而 Mail 发送 7 位消息。7 位消息应该更节省空间,但我会犹豫说不使用它们的邮件客户端在某种程度上不“体面”。