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

发布于 2024-09-13 22:59:43 字数 200 浏览 3 评论 0原文

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

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

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

I want to save the MessageID of a sent email, so I can later use it in a References: header to facilitate threading.

I see in root/django/trunk/django/core/mail.py (line ~55) where the MessageID is created.

I'm trying to think of the best way to collect this value, other than just copy/pasting into a new backend module and returning it. Maybe that is the best way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

菩提树下叶撕阳。 2024-09-20 22:59:43

好吧,我发现我正在浏览非常旧的代码。我应该能够在调用 send 之前调用 django.core.mail.message.make_msgid() 并自己填充标头。

Ok, I see I was browsing tragically old code. I should be able to call django.core.mail.message.make_msgid() and populate the header myself before calling send.

未央 2024-09-20 22:59:43

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

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

Not all backends actually support asserting a message id (for e.g. SES sets it's own message ID and returns it in it's send response). You can actually pull out the returned/generated/set message id if you use the newer (circa 1.1?) EmailMessage class you can extract the returned message ID from the instance once you call .send(), e.g.:

e=EmailMessage(
            subject,
            content,
            from_email,
            recipient_list,
            headers = headers,
        )
 e.send()
 message_id = e.extra_headers.get('Message-Id',None)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文