我无法通过python显示我在电子邮件中发送的任何嵌入图像。它显示图像中的小空框和身体下方的图像(不是典型的附件)。
Outlook和Yahoo中的电子邮件是正确的。
我一定错过了一个标题?
self.msg = MIMEMultipart( )
fp = open( path2img , 'rb')
msgImage = MIMEImage(fp.read())
fp.close()
msgImage.add_header('Content-ID', '<imagename>')
msgImage.add_header('Content-Disposition' , 'inline' , filename='image.png')
msgImage.add_header('Content-Type' , 'image/png')
self.msg.attach(msgImage)
电子邮件正文中的图片来源是:
<img src="cid:imagename">
我到处都看,不知道为什么!!请帮忙。
(我的Python可能不太好,但对Outlook / Yahoo来说还不错)
提前致谢
答案 0 :(得分:1)
您需要引用'filename'值,而不是Content-ID。例如:
<img src="cid:image.png"/>
有关详细信息,请参阅此问题:Display an attached image on the HTML message
答案 1 :(得分:0)
我有同样的问题。只需将MIMEMultipart构造函数更改为:
self.msg = MIMEMultipart('related')
它会起作用。