【发布时间】:2016-01-20 06:29:40
【问题描述】:
我正在使用 python 3.4.3 发送电子邮件,此时我需要使用别名发送电子邮件。该帐户是一个 gmail 帐户,但我需要能够将我想要的任何内容作为欺骗(别名)“发件人”电子邮件。我已经非常努力地研究如何做到这一点并且运气很少。鉴于我查看的线程数量以及我没有得到可行答案的事实表明缺乏对这个特定主题的讨论。我希望这不仅仅是因为这件事非常简单,以至于除了我之外的每个人都知道怎么做。
我应该提到我在 Windows 10 机器上,但可以访问 Ubuntu 和 Windows 7 机器。
import smtplib
fromreal = 'realmail@gmail.com'
fromshow = 'fakemail@gmail.com'
toaddy = ['rec01@gmail.com', 'rec02@gmail.com']
subject = ' test'
body = 'This is the body test'
content = '''\
From: %s
To: %s
Subject: %s
%s
''' % (fromshow, ', '.join(toaddy), subject, body)
server = 'smtp.gmail.com'
port = 587
mail = smtplib.SMTP(server, port)
mail.ehlo()
mail.starttls()
mail.login(fromreal, 'password')
try:
mail.sendmail(fromshow, toaddy, content)
print('E-mail sent.')
except:
print('E-mail not sent.')
mail.close()
【问题讨论】:
-
Gmail 服务器将不会让您使用伪造的发件人发送电子邮件。
-
不过,你永远不应该使用
except而不指定要捕获的异常。在这里,我很确定正确的错误处理会提示您出了什么问题。 -
你能帮我处理一些正确的错误处理吗??
标签: python email smtp smtplib spoofing