我尝试发送包含文本,html版本的正文和附件的电子邮件。 我使用standart python example和其他代码:
img = MIMEImage(some_image_file)
img.add_header('Content-Disposition','attachment; filename="file.jpg"')
msg.attach(text_body)
msg.attach(html_body)
msg.attach(img)
Gmail很好地展示了我的电子邮件,但yandex.com的电子邮件客户端只显示没有html或文字正文的附加图片。
如果我改变了这样的顺序:
msg.attach(img)
msg.attach(html_body)
Yandex只显示我信中的html正文,并且不显示附件!
为了在任何电子邮件客户端中正确显示我的电子邮件(html / txt正文和附件),是否需要添加任何其他标题?
答案 0 :(得分:0)
在对普通电子邮件客户端发送的电子邮件标题进行一些研究后,我找到了解决方案:
body = MIMEMultipart('alternative')
msg = MIMEMultipart('mixed')
....
body.attach(text_body)
body.attach(html_body)
msg.attach(body)
msg.attach(img)