Python 电子邮件消息未在 Outlook 中进行线程处理可能的标题问题?自定义格式或行长可能的解决方案?

问题描述

来自@outlook.com 地址的电子邮件带有以下标题

Message-ID:
 <DM5PR1101MB2074A897F300D11D32C71B75EC049@DM5PR1101MB2074.namprd11.prod.outlook.com>

为了使用 Python 进行响应,我将该消息标识符放在 In-Reply-To 标头中

from email.message import EmailMessage

msg = EmailMessage()
msg['In-Reply-To'] = '<DM5PR1101MB2074A897F300D11D32C71B75EC049@DM5PR1101MB2074.namprd11.prod.outlook.com>'

但是,当我打印此消息时,标题显示如下:

In-Reply-To: =?utf-8?q?=3CDM5PR1101MB2074A897F300D11D32C71B75EC049=40DM5PR11?=
 =?utf-8?q?01MB2074=2Enamprd11=2Eprod=2Eoutlook=2Ecom=3E?=

当它到达 Outlook 时,它不会与原始邮件放在同一个对话线程中。

有人知道为什么会发生这种情况和/或知道任何解决方法吗?

我怀疑发生这种情况是因为 Python 试图将标头拆分为多行,因为该标头高于 RFC 指定的行长度,并且当它拆分为多行时,每行都以 '?utf-8?q 开头并进行转换< 字符到 ?=3C 等......而 Outlook 期望标题的格式为

In-Reply-To': 
 <DM5PR1101MB2074A897F300D11D32C71B75EC049@DM5PR1101MB2074.namprd11.prod.outlook.com>'

也许如果有人知道如何强制标头采用这种格式就足够了。

任何帮助将不胜感激:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)