我正在使用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()
答案 0 :(得分:3)
您可以使用yagmail发送别名(不更改为假电子邮件,但至少包含别名):
import yagmail
# first is "from" arg; using a dictionary you can give an alias as value
yag=yagmail.SMTP({fromreal:'fakealias'}, 'password')
yag.send(toaddy, subject, body)
有3行而不是30行是多么好;)
使用pip install yagmail
安装。
详细了解github页面上的许多其他功能。
除此之外,你可以使用"无密码"脚本(脚本中不需要密码),非常容易发送HTML,内嵌图像和附件!
完全披露:我是yagmail
的开发者/维护者。