我正在给我从Excel表格中取出的电子邮件列表中的人发送定制电子邮件。
我使用MIMEMultipart
发送邮件和附件,第一人称正确收到邮件。
第二个人正在收到第一个人的邮件以及他们自己的邮件。第三个人同时得到了前两个人的信息。
以此类推,每次向邮件中添加另一条消息。如何在python中发送单个邮件后重置MIMEMultipart
?我的代码如下:
for i in range(len(emails)):
name = names[i] + ","
email = emails[i] + "@nmamit.in"
TEXT = "my message" + name
msg['Subject'] = subjet_txt
msg['From'] = your_email
msg['To'] = email
msg.attach(MIMEText(TEXT, 'plain'))
text = msg.as_string()
server.sendmail(your_email, email, text)
server.quit()
您没有在每次迭代中创建新消息,它(msg
)似乎在循环开始之前已经创建了。这意味着这一行:
msg.attach(MIMEText(TEXT, 'plain'))
将在每次循环中附加另一个TEXT
副本到已经存在的消息。
for i in range(len(emails)):
message = MIMEMultipart() # Fresh message for each iteration.
name = names[i] + "," # Remainder of code as per current.
# ...