4

我无法让 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 来说已经足够好了)

提前致谢

4

2 回答 2

1

您需要参考“文件名”值,而不是 Content-ID。例如:

<img src="cid:image.png"/>

有关详细信息,请参阅此问题:在 HTML 消息上显示附加图像

于 2011-12-07T02:29:52.477 回答
0

我遇到过同样的问题。只需将 MIMEMultipart 构造函数更改为:

self.msg = MIMEMultipart('related')

它会起作用。

于 2013-11-01T18:41:31.993 回答