在 Python email/smtplib 中设置不同的回复消息

新手上路,请多包涵

我正在使用 Python 电子邮件和 smtplib 从 Python 发送电子邮件。我正在使用我的 Gmail 凭据通过 Gmail SMTP 服务器执行此操作。这工作正常,但我想指定一个 Reply-to 不同于 from 地址的电子邮件地址,以便回复到一个单独的地址(非 Gmail。)

我试过像这样创建一个 reply to 参数:

    msg = MIMEMultipart()

   msg['From'] = "email@gmail.com"
   msg['To'] = to
   msg['Subject'] = subject
   msg['Reply-to'] = "email2@example.com"

但这不起作用。在 Python 文档中找不到任何关于此的信息。

原文由 eli 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 711
2 个回答

这是我的看法。我认为应该明确设置“回复”标头。可能的原因是它不如“主题”、“收件人”和“发件人”等标题常用。

 python
Python 2.6.6 (r266:84292, May 10 2011, 11:07:28)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> MAIL_SERVER = 'smtp.domain.example'
>>> TO_ADDRESS = 'you@gmail.com'
>>> FROM_ADDRESS = 'email@domain.example'
>>> REPLY_TO_ADDRESS = 'email2@domain2.example'
>>> import smtplib
>>> import email.mime.multipart
>>> msg = email.mime.multipart.MIMEMultipart()
>>> msg['to'] = TO_ADDRESS
>>> msg['from'] = FROM_ADDRESS
>>> msg['subject'] = 'testing reply-to header'
>>> msg.add_header('reply-to', REPLY_TO_ADDRESS)
>>> server = smtplib.SMTP(MAIL_SERVER)
>>> server.sendmail(msg['from'], [msg['to']], msg.as_string())
{}

原文由 mattbornski 发布,翻译遵循 CC BY-SA 4.0 许可协议

我有同样的问题,我要做的就是将标题设置为小写,如下所示:

 msg['reply-to'] = "email2@example.com"

原文由 turbofan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题