使用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”标头,我收到的消息的“ Return-Path”标头也将设置为与“发件人”相同的内容.

如何在Python中通过smtplib的sendmail发送的MIME消息设置“ Return-Path”标头?

提前致谢.

最佳答案
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())

转载注明原文:使用Python sendmail为MIME消息设置Return-Path - 代码日志