收到的邮件的 Message-Id 被部分解析

您好,

在两个电子邮件(附件)中,Message-Id 字段如下所示:

Message-Id: =?us-ascii?Q?\u003c937921.143a05a8b3cfad92dd74ccf3c20c29a0@seenth?=\n =?us-ascii?Q?is.net\u003e?=

在 2.7.9 和 2.8.0 版本中,它被 Email::Receiver 解析为 =?us-ascii?Q?,即第二行的部分内容。因此,所有在第一封邮件之后的邮件都会被默默丢弃,因为它们被误认为是具有相同的 Message-Id

使用 python3 解析 mail1.txt(如下)会显示以下 Message-Id

$ ( echo import email ; echo 'print(email.message_from_string(open(\"mail1.txt\").read())[\"Message-Id\"])' ) | python3
=?us-ascii?Q?\u003c937921.143a05a8b3cfad92dd74ccf3c20c29a0@seenth?=\n =?us-ascii?Q?is.net\u003e?=

这似乎是 discourse 在此处使用的 Mail 解析器类的一个 bug:

非常感谢您能就如何修复或规避此问题提供任何建议。

mail1.txt (3.6 KB)
mail2.txt (3.6 KB)

2 个赞