使用Python sendmail为MIME消息设置Return-Path
你好,我想为我用Python发送的MIME消息设置“Return-Path”头部。基本上,我尝试了这样的代码:
message = MIMEMultipart()
message.add_header("Return-Path", "something@something.com")
#...
smtplib.SMTP().sendmail(from, to, message.as_string())
但是我收到的消息中,“Return-Path”头部的内容和“From”头部是一样的,即使我明确添加了“Return-Path”头部。
我该如何在Python中通过smtplib的sendmail设置MIME消息的“Return-Path”头部呢?
提前谢谢你。
1 个回答
4
Return-Path是由SMTP协议设置的,它不是从邮件内容中得出的。在大多数情况下,它会是信封中的发件人地址。
正确的做法是:
msg = email.message_from_string('\n'.join([
'To: michael@mydomain.com',
'From: michael@mydomain.com',
'Subject: test email',
'',
'Just testing'
]))
smtp = smtplib.SMTP()
smtp.connect()
smtp.sendmail('something@something.com', 'michael@mydomain.com', msg.as_string())