Python 在数据帧上循环时,我无法向多个收件人发送电子邮件
我试图在发送电子邮件时循环一个数据帧,但收到一个错误。下面是我的代码。其想法是将自定义电子邮件发送到包含各自名字和分数的电子邮件列表Python 在数据帧上循环时,我无法向多个收件人发送电子邮件,python,dataframe,email,Python,Dataframe,Email,我试图在发送电子邮件时循环一个数据帧,但收到一个错误。下面是我的代码。其想法是将自定义电子邮件发送到包含各自名字和分数的电子邮件列表 email_list = [abc@gmail.com, def@gmail.com, ghi@gmail.com] email['from'] = 'xyz' email['subject'] = 'Corporate Rating Quiz' for recipient in email_list: email['To'] = recipient
email_list = [abc@gmail.com, def@gmail.com, ghi@gmail.com]
email['from'] = 'xyz'
email['subject'] = 'Corporate Rating Quiz'
for recipient in email_list:
email['To'] = recipient
for index,row in df.iterrows():
email.set_content(html.substitute({'name' : row['First Name'], 'score' : row['Score']}))
with smtplib.SMTP(host='smtp.gmail.com',port=587) as smtp:
smtp.ehlo()
smtp.starttls()
smtp.login('*@gmail.com','*')
smtp.send_message(email)
del email['To']
print('all done!')
收到的错误为:smtplib.SMTPRecipientsRefused:{},电子邮件最终只发送给第一个收件人
我到处找了很多,找不到解决这个问题的办法 我没有你的数据帧,这就是为什么你可以试试这个:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
email_list = ["abc@gmail.com","def@gmail.com","ghi@gmail.com"]
email = MIMEMultipart()
email['from'] = 'xyz@gmail.com'
email['subject'] = 'Corporate Rating Quiz'
for recipient in email_list:
email['To'] = recipient
for index,row in df.iterrows():
email.set_content(html.substitute({'name' : row['First Name'], 'score' : row['Score']}))
with smtplib.SMTP(host='smtp.gmail.com',port=587) as smtp:
smtp.ehlo()
smtp.starttls()
smtp.login('*@gmail.com','*')
smtp.send_message(email)
email['To']= ""
print('all done!')