如何将Quoted-Printable Mime-Words包装到正确的行长度?

时间:2011-11-15 06:58:56

标签: smtp mime rfc5322

我在一个mime解析库中遇到了bug,它在包含超出一定长度的外来字符的主题行上爆炸。事实证明,它会将主题转换为Quoted-Printable MIME“Encoded-Word”,然后尝试将整个事物自动换行为78个字符。由于MIME-Word编码没有空格(它们被下划线替换),因此无法包装。

包裹的示例行:

Subject: =?UTF-8?Q?lalalla_=E7=84=A1=E6=AD=A4=E7=84=A1=E6=AD=A4=E9=A0=85=E7=9B=AE=AE=AE=AE=AE=AE=AE=AE=AE?=

我以为我可能会为库提供一个补丁以正确包装该行,但是我找不到关于如何将MIME-Word拆分为自动换行算法的参考。

RFC 5322表示在空格处自动换行,但如果有一串字符没有超出目标宽度的空白字符,则不提供任何指导。

任何人都知道要采取正确的行动吗?

1 个答案:

答案 0 :(得分:0)

只需将您需要的线分开,然后继续第二条包裹线。例如:

Subject: =?UTF-8?Q?lalalla_=E7=84=A1=E6=AD=A4=E7=84=A1=E6=AD=A4?=
 =?UTF-8?Q?=E9=A0=85=E7=9B=AE=AE=AE=AE=AE=AE=AE=AE=AE?=

请务必确保第二行(及以下)包裹的行以空格或制表符开头。

HTH,
--Dave