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

2024-05-12 21:05:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个脚本,从我的网站上获取一些数据,每天给我发一次电子邮件。我试着把这个发送给不止一个收件人,我用我在这里找到的一些代码(不止一个解决方案)调整了脚本,但是我发现它只向列表中的第一个收件人发送电子邮件。在

以下是我使用的节选(请记住,当发送给一个收件人时,完整版本100%正确)。。。在

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"

当我把这个发送到我自己的两个电子邮件地址,或者如果我把同一个电子邮件地址放两次,我只会收到一封电子邮件-收到的电子邮件会在“收件人”字段中显示这两个电子邮件地址。在

我怎样才能让它正常工作?在


Tags: tofrom脚本com电子邮件地址msgwebsite
3条回答

msg['To']必须是字符串,而sendmail(sender, recipients, message)中的recipients必须是列表:

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")

我建议你看看yagmail。在

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

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

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

这两个电子邮件地址都进入了我的iCloud账户,出于某种原因,我的iPad选择只显示一封电子邮件……而不是一个包含两个相同电子邮件的线程,只有一个电子邮件! 我再次尝试,其中一个电子邮件地址去一个完全独立的帐户,它工作得很好!在

相关问题 更多 >