0
我试图多个附件附加到email.mime.multipart
对象:蟒MIME附着多个附件的多部分消息
from smtplib import SMTP
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
message = MIMEMultipart('alternative')
message['Subject'] = 'test'
for i in range(10):
title="<h2>{}</h2>".format(i)
message.attach(MIMEText(title,"html",_charset="utf-8"))
在这里,我可以检查有效载荷中包含的10个元素:
message.get_payload()
我可以看到10个元素的列表,这似乎是正确的。
然而,当我把下面的代码的电子邮件:
MAIL_HOST = 'smtp.gmail.com:587'
MAIL_USER = '[email protected]'
MAIL_PASSWORD = 'xxx'
MAIL_REPICIENTS = ['[email protected]']
smtp = SMTP(MAIL_HOST)
smtp.ehlo()
smtp.starttls()
smtp.login(MAIL_USER, MAIL_PASSWORD)
smtp.sendmail(MAIL_USER, MAIL_REPICIENTS, message.as_string())
smtp.close()
电子邮件只包含列表的最后一个元素。
任何人都可以帮助我吗?
嗨thx,是的作品thx!但是,如果只有1个附件可以连接,为什么它被称为多部分?我的方法似乎符合我在文档中找到的内容:https://docs.python.org/3.4/library/email.message.html#email.message.Message.attach –
它被称为多方,因为您可以有多个所附消息的版本,例如:纯文本和html。最后附加的消息被假定为首选。所以当你附加多个html消息时,它所做的只是显示最后一个。 – Steampunkery