引用的可打印电子邮件显示某些电子邮件客户端中的等号

时间:2011-10-28 18:07:15

标签: email

我正在生成电子邮件。它们在gmail和Outlook 2010中对我来说很好。但是,我的客户端看到的=符号会被引用的可打印格式添加到行尾。它还会占用下一行的字符,但随后显示等号。

示例:

line that en=
ds like this

显示为

line that en=s like this

(注意:我的电子邮件中的EOL字符只是LF。没有CR。)

我正在确认我的客户端使用的Outlook版本,但我认为它是2007年。来自她的电子邮件标题似乎来自Exchange 6.5。

我的电子邮件是使用HtmlMimeMail5库在php中创建的。它们是多部分电子邮件,适用的部分发送时间为:

Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

看来我可以确保我的电子邮件中没有任何内容达到76个字符的换行符,但这似乎是解决问题的错误方法。 EOL角色应该不同吗? (在来自客户端的电子邮件中,EOL角色只是一个LF)其他任何想法?

1 个答案:

答案 0 :(得分:6)

我不知道PHP库的功能,但最后MIME邮件必须包含CR LF行结尾。显然客户端注意到=后面没有正确的CR LF序列,所以它假设它不是一个软换行符,而是一个用两个十六进制数字编码的字符,因此它读取接下来的两个字节。它应该注意到接下来的两个字节不是有效的十六进制数字,所以它的行为也是错误的,但是我们不得不承认在那时它没有机会显示有用的东西。他们选择了垃圾进入垃圾进场。