6

我想保存已发送电子邮件的 MessageID,以便稍后在 References: 标头中使用它以促进线程化。

我在创建 MessageID 的 root/django/trunk/django/core/mail.py (第 ~55 行)中看到。

我正在尝试考虑收集此值的最佳方法,而不仅仅是复制/粘贴到新的后端模块并返回它。也许这是最好的方法?

4

2 回答 2

12

好的,我看到我正在浏览可悲的旧代码。在调用发送之前,我应该能够调用 django.core.mail.message.make_msgid() 并自己填充标题。

于 2010-08-12T19:02:29.453 回答
0

并非所有后端都支持声明消息 ID(例如,SES 设置它自己的消息 ID 并在其发送响应中返回它)。如果您使用较新的(大约 1.1?)EmailMessage类,您实际上可以提取返回/生成/设置的消息 ID,您可以在调用 .send() 后从实例中提取返回的消息 ID,例如:

e=EmailMessage(
            subject,
            content,
            from_email,
            recipient_list,
            headers = headers,
        )
 e.send()
 message_id = e.extra_headers.get('Message-Id',None)
于 2011-05-22T16:52:50.520 回答