Python 嵌入图像 Thunderbird
我在用Python发送邮件时,发现Thunderbird无法显示我嵌入的图片。它只显示了小空框,而图片却在邮件正文的下面(这不是典型的附件)。
在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上使用)
提前谢谢你们!
2 个回答
0
我也遇到过同样的问题。只需要把MIMEMultipart的构造函数改成:
self.msg = MIMEMultipart('related')
这样就可以正常工作了。
1
你需要关注的是'filename'的值,而不是内容标识符(Content-ID)。比如:
<img src="cid:image.png"/>
想了解更多信息,可以查看这个问题:在HTML消息中显示附加的图片