我尝试了帖子here的解决方案,但没有帮助。
我的python脚本的一部分向收件人发送电子邮件。当我在Pycharm中运行代码时,它恰好会发送3封电子邮件,这是我的测试用例的电子邮件地址数量以及它应该发送的数量。但是,当我尝试在树莓派上运行它时,它会随机发送电子邮件,而我找不到发送不同电子邮件数量的模式。
因此,存在一个名为“ toAddrs”的列表,该列表保存了收件人的电子邮件地址。我曾经尝试过以下两种方式,一次使用for循环,一次不使用for循环。但是这两个都发送任意数量的电子邮件。
#subject, fromAddr, mainbody and password are already defined
msg = MIMEMultipart('')
msg.attach(MIMEText(mainbody, 'plain'))
msg['Subject'] = subject
msg['From'] = fromAddr
msg['To'] = toAddrs
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromAddr, password)
for i in range(len(toAddrs)):
server.sendmail(fromAddr, toAddrs[i], msg.as_string())
server.quit()
另一个是:
#subject, fromAddr, mainbody and password are already defined
msg = MIMEMultipart('')
msg.attach(MIMEText(mainbody, 'plain'))
msg['Subject'] = subject
msg['From'] = fromAddr
msg['To'] = ' ,'.join(toAddrs)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromAddr, password)
server.sendmail(fromAddr, toAddrs, msg.as_string())
server.quit()
我找不到可能出问题的地方。我将不胜感激。