我想向多个用户发送电子邮件。目前,我只能将其发送给一个用户。我想制作一个属性文件,以便每当需要从列表中添加或删除任何用户时,都无需编辑.py文件中的任何内容。
我能够将电子邮件发送给一位用户
import smtplib
import email.utils
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
me = abc@an.com
you = jud@gm.com
msg = MIMEMultipart('alternative')
msg['Subject']="subject of the email"
msg['From"]=me
msg['To']=you
text="hi"
html= '''body of email'''
part1=MIMEText(text, 'plain')
part1=MIMEText(html, 'html')
msg.attach(part1)
msg.attach(part2)
s = smtplib.SMTP(host,port)
s.sendmail(me,you, msg.as_string())
s.quit()
电子邮件应发送给多个用户。
答案 0 :(得分:0)
自变量you
可以是电子邮件地址列表。您将需要修改代码以将To:
标头设置为接受字符串列表
msg['To'] = '.'.join(you)
或者您可以使用占位符,例如
msg['To'] = 'undisclosed-recipients:;'
但是除此之外,您现有的代码应该可以正常工作。
更详细地讲,后者基本上等同于将所有地址都放在Bcc:
标头中,以便收件人无法看到彼此的地址。
要从文件中填充you
,请尝试
with open(filename) as f:
you = f.readlines()
其中文件每行包含一个电子邮件地址。