为每个收件人发送一封邮件

时间:2019-03-12 14:05:44

标签: python email smtp

我正在尝试向每个收件人发送相同的邮件,我一直在尝试遍历该列表,但是它多次发送给一组邮件中的所有收件人。

我想知道如何为每个收件人发送相同的邮件,而不必直接通过一封邮件发送给所有收件人

msg = MIMEText(HTML_CONTENT, 'html')
msg['Subject'] = 'some subject'
msg['From'] = email

sendTo = [
    "somemail@mail.com",
    "another@mail.com",
    "ok@kkk.com"
]

msg['To'] = ", ".join(sendTo)

conn = SMTP(SMTP_SERVER, SMTP_PORT)
try:
    conn.starttls()
    conn.set_debuglevel(False)
    conn.login(email, password)

    i = 0
    for i in range(len(sendTo)):
        conn.sendmail(email, sendTo[i], msg.as_string())
        i += 1
finally:
    conn.quit()

1 个答案:

答案 0 :(得分:1)

我不确定这是否是问题,但我相信您的代码中存在i += 1的问题-如果您要遍历一个数字范围(以您的情况为长),它将自动迭代下一项,因此您添加此代码行将使其实际上一次迭代两次。