我可以轻松地使用smtplib
发送电子邮件。我正在努力的是阅读发送的实际标题。具体来说,我希望阅读Message-ID
和References
。
我一开始认为sendmail()
会返回它们,但事实并非如此。
发现我能够将smtpilb.stderr
重定向到我自己的函数并解析出我需要的数据。是否有更好的方式让我说:
headers['References']
答案 0 :(得分:1)
如果您使用sendmail()
我不确定如何访问标题,因为在这种情况下您没有Message
个对象。但是,如果您改为使用send_message
- 这与sendmail()
非常相似 - 并将其传递给email.message.Message
对象,则所有电子邮件标题及其值都存储在dict中你的Message
对象。例如,可以使用msg
从电子邮件消息对象msg['Message-ID']
访问消息ID,可以使用msg['Subject']
等访问主题。我不认为会存储任何内容在message-id
,除非你自己把它放在那里。你可以自己推动自己的'使用make_msgid()
中的email.utils
的消息ID:
from email.utils import make_msgid
msg['Message-ID'] = make_msgid()