Python 如何获取从smtplib发送的电子邮件的消息id

Python 如何获取从smtplib发送的电子邮件的消息id,python,django,email,smtplib,Python,Django,Email,Smtplib,我想记录用户对我的邮件的回复,并在我的应用程序中将其显示为线程。为此,我在电子邮件头中使用了消息id的帮助。当我发送邮件时,我可以看到屏幕上打印的邮件id如何获取此邮件id。此外,我创建的邮件id也被覆盖。我的代码如下 import smtplib from email.mime.text import MIMEText subject = 'Hello!' message = 'hiii!!!' email = 'someone@somewhere.com' send_from = 'me@

我想记录用户对我的邮件的回复,并在我的应用程序中将其显示为线程。为此,我在电子邮件头中使用了消息id的帮助。当我发送邮件时,我可以看到屏幕上打印的邮件id如何获取此邮件id。此外,我创建的邮件id也被覆盖。我的代码如下

import smtplib
from email.mime.text import MIMEText

subject = 'Hello!'
message = 'hiii!!!'
email = 'someone@somewhere.com'
send_from = 'me@example.com'
msg = MIMEText(message, 'html', 'utf-8')
msg['Subject'] = subject
msg['From'] = send_from
msg['To'] = email
msg['Message-ID'] = '01234567890123456789abcdefghijklmnopqrstuvwxyz'
send_to = [email]

smtp_server = 'email-smtp.us-east-1.amazonaws.com'
smtp_port = 587
user_name = 'abcd'
password = 'abcd'
try:
    server = smtplib.SMTP(smtp_server, smtp_port)
    server.set_debuglevel(True)
    server.starttls()
    server.ehlo()
    server.login(user_name,password)
    server.sendmail(send_from, send_to, msg.as_string())

except Exception, e:
    print e
用于创建符合RFC 2822的邮件ID标头:

msg-id = [CFWS] "<" id-left "@" id-right ">" [CFWS]
msg id=[CFWS]“”[CFWS]

您是否尝试设置
消息ID
?您的
消息ID
似乎不符合RFC 2822的要求:
消息ID=[CFWS]“”[CFWS]
。哦,这正是我犯的错误。非常感谢。@eigenein您能添加您的评论作为答案吗?@Emimastizada是的,完成了@Sar009,您应该接受答案,因为它回答了您的问题。:)