Python 电子邮件发送不断添加新附件
Python email sending keeps adding new attachments
我正在向 Excel sheet 的电子邮件列表中的人发送自定义电子邮件。
我已经使用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()
您没有在每次迭代中创建 new 消息,它 (msg
) 似乎是在 [=24= 之前创建的] ] 循环开始。这意味着行:
msg.attach(MIMEText(TEXT, 'plain'))
每次通过循环时,都会将 的另一个 副本附加到已存在的消息中。
解决办法是每次都从新鲜的消息开始,比如:
for i in range(len(emails)):
message = MIMEMultipart() # Fresh message for each iteration.
name = names[i] + "," # Remainder of code as per current.
# ...
我正在向 Excel sheet 的电子邮件列表中的人发送自定义电子邮件。
我已经使用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()
您没有在每次迭代中创建 new 消息,它 (msg
) 似乎是在 [=24= 之前创建的] ] 循环开始。这意味着行:
msg.attach(MIMEText(TEXT, 'plain'))
每次通过循环时,都会将 的另一个 副本附加到已存在的消息中。
解决办法是每次都从新鲜的消息开始,比如:
for i in range(len(emails)):
message = MIMEMultipart() # Fresh message for each iteration.
name = names[i] + "," # Remainder of code as per current.
# ...