如何使用Python发送邮件中的内嵌图片?
我想知道怎么用Python发送带有内嵌图片的邮件?我找到这个链接:http://docs.python.org/library/email-examples.html,但是里面没有关于图片的例子。
谢谢!
2 个回答
0
把图片附上,然后用html来显示它。你可以参考你链接里的MIME示例,看看怎么附加图片。大多数情况下,用一个<img>
标签就可以在客户端显示图片了。确保你使用了正确的MIME类型来处理html。你的链接里也有说明怎么做。
2
看看这个大例子,它展示了“如何将整个目录的内容作为电子邮件发送”。在这个例子中,文件中的图像fp
被转换成消息部分msg
:
msg = MIMEImage(fp.read(), _subtype=subtype)
然后,这个消息部分会附加到外部消息中:
msg.add_header('Content-Disposition', 'attachment', filename=filename)
outer.attach(msg)
如果你希望图像直接显示在邮件中,而不是作为附件,你需要把它的Content-Disposition
设置为inline
,而不是attachment
。
(如果你想创建可以显示附加图像的HTML邮件,那么你需要使用RFC 2387中定义的multipart/related
MIME类型。如果需要帮助,请问我。)