将个别电子邮件发送给多个收件人 [英] Send individual emails to multiple recipients

查看:249
本文介绍了将个别电子邮件发送给多个收件人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我整理了一个代码,可以将电子邮件发送给多个收件人.但是,每个收件人都会收到所有邮件,而不是自己的邮件.

I have put together a code to send emails to multiple recipients. However each recipient receives all mails instead of his own.

数据框:

email content mark@gmail.com Hi Mark, bla bla eve@gmail.com Hi Eve, bla bla john@gmail.com Hi, John bla bla

email content mark@gmail.com Hi Mark, bla bla eve@gmail.com Hi Eve, bla bla john@gmail.com Hi, John bla bla

for content in df['content']:
    for email in df['email']:
       message = MIMEMultipart()
       message['Subject'] = "Subject"
       message['From'] = 'my email'
       message['Reply-to'] = 'my email'
       message['To'] = '{}'.format(email)

       text = MIMEText(mail)
       message.attach(text)

       server = smtplib.SMTP ('smtp.gmail.com',587)
       server.ehlo()
       server.starttls()
       server.login(login, password) 
       server.sendmail(message['From'], message['To'], message.as_string())
       server.quit()

推荐答案

我对其进行了两次迭代.与其使用2 for循环,不如遍历DataFrame的正确方法是使用

I was iterating it twice. Instead of using 2 for loops, the correct way to iterate through out DataFrame is using

代替此:

for content in df['content']:
    for email in df['email']:

使用此:

for c in df.itertuples():
   message = MIMEMultipart()
   message['To'] = '{}'.format(c[0])

   text = MIMEText(c[1])
   message.attach(text)

这篇关于将个别电子邮件发送给多个收件人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆