Python:无法通过电子邮件发送给多个收件人

时间:2016-04-27 11:12:40

标签: python python-3.x

我有一个脚本可以从我的网站获取一些数据并每天给我发电子邮件一次。我试图将此邮件发送给多个收件人,我已经使用我在此处找到的一些代码(在多个解决方案中)修改了脚本但我还是发现它只向列表中的第一个收件人发送电子邮件。

这里是我所使用的内容的摘录(请记住,当发送给一位收件人时,完整版可正常工作)...

addr_to   = ['me@icloud.com', 'me2@icloud.com']
addr_from = 'darren@website.co.uk'

smtp_server = 'mail.com'
smtp_user   = 'darren@website.co.uk'
smtp_pass   = 'password'

msg = MIMEMultipart('alternative')
msg['To'] = " ,".join(addr_to)
msg['From'] = addr_from
msg['Subject'] = " Automated email"

当我将此邮件发送到我自己的两个电子邮件地址时,或者如果我将相同的电子邮件地址发送两次,我只会收到一封电子邮件 - 收到的电子邮件会显示“...”中的两个电子邮件地址。字段。

如何使其正常工作?

3 个答案:

答案 0 :(得分:0)

msg['To']需要是一个字符串,而recipients中的sendmail(sender, recipients, message)需要是一个列表:

s = smtplib.SMTP('servername')
addr_to   = ['me@icloud.com', 'me2@icloud.com']
addr_from = 'darren@website.co.uk'

msg = MIMEMultipart('alternative')
msg['Subject'] = "Automated email"
msg['From'] = addr_from
msg['To'] = ", ".join(addr_to)
s.sendmail(addr_from, addr_to, "bla")

答案 1 :(得分:0)

我建议您查看yagmail

要发送到多个电子邮件地址,您可以使用以下内容:

import yagmail
yag = yagmail.SMTP()
yag.send(['me@icloud.com', 'me2@icloud.com'], "subject", "contents")

答案 2 :(得分:0)

问题解决了!! 用户错误!

两个电子邮件地址都进入了我的iCloud帐户,出于某种原因,我的iPad选择只向我显示一封电子邮件....而不是一个包含两封相同电子邮件的帖子,只有一封电子邮件! 我再次尝试使用其中一个电子邮件地址转到一个完全独立的帐户,它运行正常!