获取已发送电子邮件的 MessageID 最简单/最干净的方法是什么?
我想保存已发送电子邮件的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,我发现我正在浏览非常旧的代码。我应该能够在调用 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.
并非所有后端实际上都支持断言消息 ID(例如,SES 设置它自己的消息 ID 并在其发送响应中返回它)。如果您使用较新的(大约1.1?),您实际上可以提取返回/生成/设置的消息ID EmailMessage 类,您可以在调用 .send() 后从实例中提取返回的消息 ID,例如:
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.: