在HTML电子邮件中发送base64图像


85

使用富文本编辑器,我们的用户可以将保存的图像从桌面拖放到编辑器中。他们提交后,该图像就会出现并正确显示在网页中。

由于图像未上传到任何地方,因此编辑器会将图像另存为base64编码的图像。

<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4QAAAFKCAIAAADKUQaBAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAP+lSURBVHhepP1p32zb

等等

但是它没有显示-没有在iPhone上,也没有在两个不同版本的Outlook中。图像被破坏了。我们希望坚持使用base64,因为它已经可以在网页上使用,并且能够在用户离线时查看图像。


Answers:


124

不幸的是,支持充其量是残酷的。这是有关该主题的文章:

https://www.campaignmonitor.com/blog/email-marketing/2013/02/embedded-images-in-html-email/

以及帖子内容: 在此处输入图片说明


2
之所以被标记为答案,是因为答案很简单:对base64的支持很糟糕,您应该尽量避免这样做。我们设法让他们工作,实际上在这个问题上有一个错误。但是,我们必须强制使用Outlook 2007。苹果可以很好地处理base64图像。
Vael Victus 2013年

9
在Outlook 2003中受支持,但在Outlook 2007中不受支持吗?他们在想什么?
cytsunny

5
有什么选择?

为此,我正要用自己的base64示例编写SO帖子。我以为通过在两个浏览器(GMail和Outlook)中检查生成的电子邮件,并验证我的base64文本未损坏,应该可以正常工作
。– Memetican

@AkhilJain这对我
有用

57

一种替代方法可以是使用该cid方法将图像嵌入到电子邮件中。(基本上将图像作为附件包含,然后嵌入)。以我的经验,这种方法最近似乎得到了很好的支持。

在此处输入图片说明

资料来源:https : //www.campaignmonitor.com/blog/how-to/2008/08/embedding-images-revisited/


3
确实可以,但是遗憾的是一些电子邮件服务会向您收取发送附件的费用。
Sombriks

18
此外,许多客户(包括Gmail网络界面)都会在邮件末尾附加所有附件图像的副本,这非常非常难看。
Daniel Saner
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.