我正在尝试从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会以这种方式保存它?
答案 0 :(得分:4)
Outlook正在使用=
作为转义符号。如果X
和Y
为十六进制数字=XY
,则必须使用ASCII代码XY
替换该字符。如果=
后跟换行符,则必须删除此换行符并加入行。
Outlook执行此操作是因为只能通过SMTP安全传输有限范围的字节值,并且必须引用此范围之外的字节。行长度也有限制,因此默认情况下,Outlook会拆分长度超过75个字节的行。我相信这称为Quotted-Printable
编码。
检查.eml文件中的Content-Transfer-Encoding:
标头,然后在应用过滤器之前通过解码器运行该文件。并在过滤后再次编码。