python嵌入式图像雷鸟

时间:2011-10-10 15:31:59

标签: python image thunderbird

我无法通过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来说还不错)

提前致谢

2 个答案:

答案 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')

它会起作用。