【发布时间】:2012-04-23 14:19:39
【问题描述】:
我正在尝试在 Django 中使用内联图像创建电子邮件。
msg = EmailMultiAlternatives(...)
image_file = open('file_path', 'rb')
img = MIMEImage(img_data)
image_file.close()
img.add_header('Content-ID', '<image1>')
img.add_header('Content-Disposition', 'inline')
msg.attach(img)
msg.send()
在模板中我会这样引用它:
<img src="cid:image1" />
这在 Web 浏览器、Outlook、Thunderbird 中运行良好……除了 OSX、iPad 和 iPhone 上的苹果邮件客户端。图像显示两次。它们被正确地内联放置,但它们也附加到电子邮件的底部。我的问题是,我如何摆脱底部的图像?或者我应该以不同的方式处理电子邮件中的图像。
参考资料:
http://djangosnippets.org/snippets/1507/
Django: How to send HTML emails with embedded images
creating a MIME email template with images to send with python / django
【问题讨论】:
-
将您的问题重新标记为更具体的标签,例如“email”或“apple-email”,以找到对它更感兴趣的人,暂时忘记询问“使用 Django 电子邮件创建”。
-
附加图像(据我所知)是试图让它们默认显示 - 即无需启用“显示来自 foo@bar.com 的所有图像”,因此替代方案是使用您服务器上托管的图像的 URL。图片只会出现一次,但可能需要用户采取行动