4

我正在尝试从 OutLook Express 保存一个 .eml 文件,但保存的文件在某些​​行的末尾有字符“=”(等于)。

在源模式下编辑消息时,html 看起来很正常,只需保存它,“=”就会出现。

这对我不利,因为我会在发送之前在我的应用程序中编辑 .eml。我必须找到 /BODY 标签并插入一个文本。一个例子:

</DIV></DIV></DIV></DIV></DIV><FONT=20
style=3D"FONT-STYLE: normal; FONT-FAMILY: calibri; COLOR: rgb(0,0,0); =
FONT-SIZE: small; FONT-WEIGHT: normal"=20
face=3DCalibri><A=20
target=3D_blank></A></FONT></DIV></DIV></DIV></DIV></DIV></DIV></DIV></BO=
DY></HTML>

在这种情况下,我找不到正文,因为它写为 BO=DY。

我曾尝试将其保存在各种编码中,但结果相同。为什么 OutLook 以这种方式保存它?

4

1 回答 1

7

Outlook=用作转义符号。ifXYare hex 数字=XY必须替换为带有 ASCII 码的字符XY。如果=后跟换行符,则必须删除此换行符并加入行。

Outlook 这样做是因为只有有限范围的字节值可以通过 SMTP 安全传输,并且必须引用此范围之外的字节。行长度也有限制,因此 Outlook 默认会拆分长度超过 75 个字节的行。我相信这被称为Quotted-Printable编码。

检查Content-Transfer-Encoding:.eml 文件中的标头并在应用过滤器之前通过解码器运行文件。并在过滤后再次编码。

于 2013-01-22T18:57:05.607 回答