如何使用Python发送邮件中的内嵌图片?

2 投票
2 回答
3374 浏览
提问于 2025-04-16 07:13

我想知道怎么用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类型。如果需要帮助,请问我。)

撰写回答