获取已发送电子邮件的MessageID的最简单/最简洁的方法是什么?

时间:2010-08-12 18:54:25

标签: python django email-headers

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

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

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

2 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:-1)

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

e=EmailMessage(
            subject,
            content,
            from_email,
            recipient_list,
            headers = headers,
        )
 e.send()
 message_id = e.extra_headers.get('Message-Id',None)