Apple Mail列出发件人超越定义的发件人

时间:2013-07-10 17:12:02

标签: python gmail smtplib

我有一个问题,即将Python中的电子邮件发送给将在Apple Mail客户端中查看它们的收件人。我将从我的Gmail帐户向将要在Apple Mail中查看它们的人发送电子邮件。我正在努力确保收件人,我的同事,只看到我打算让他们看的发件人,我的办公室电子邮件的别名。但是,通过Apple Mail查看时,电子邮件会显示我定义的发件人和实际的发送地址。这就是我正在运行的:

import smtplib
from email.mime.text import MIMEText
msg = MIMEText('Warning, deadline X approaching.')
msg['To'] = 'recipient@theoffice.com'
msg['Subject'] = 'Deadline Issues'
msg['From'] = 'automatedwarning@theoffice.com'
msg['From'] = 'automatedwarning@theoffice.com'
server = smtplib.SMTP('smtp.gmail.com')
server.starttls()
server.login('sender','password')
server.sendmail('sender@gmail.com','recipient@theoffice.com',msg.as_string())
server.quit()

发件人在除Apple Mail之外的所有客户端中显示为automatedwarning@theoffice.com,其中列出了sender@gmail.com和automatedwarning@theoffice.com。那么,如何,如果可能,为什么?

此外,为什么我必须设置发件人两次才能让显示的发件人更改?如果我只设置一次,它在任何客户端都不会改变。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

当您将Google用作SMTP服务器时,它会将发件人地址设置为您的地址。您应该考虑商业解决方案(如sendgrid或mailchimp的mandrill服务。)

http://lifehacker.com/111166/how-to-use-gmail-as-your-smtp-server