【问题标题】:Send a base64 image in HTML email在 HTML 电子邮件中发送 base64 图像
【发布时间】:2013-04-20 23:38:22
【问题描述】:

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

由于图片没有上传到任何地方,编辑器将图片保存为base64编码的图片。

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

等等

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

【问题讨论】:

标签: email base64 html-email data-uri


【解决方案1】:

不幸的是,支持充其量是残酷的。这是关于该主题的帖子:

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

还有帖子内容:

【讨论】:

  • 标记为答案,因为它就是答案:对 base64 的支持很糟糕,你应该尽量避免它。我们设法让它们工作,这个问题实际上存在一个错误。但是,我们必须强制使用 Outlook 2007。 Apple 可以很好地处理 base64 图像。
  • 在 Outlook 2003 中支持,但在 Outlook 2007 中不支持?他们在想什么?
  • 有什么选择?
  • 谢谢你,我正准备用我自己的 base64 示例写一篇 SO 帖子。我假设通过在两个浏览器(GMail 和 Outlook)中检查生成的电子邮件,并验证我的 base64 文本未损坏,它应该可以正常工作..
  • @AkhilJain 这对我有用stackoverflow.com/a/36870709/5536005
【解决方案2】:

另一种方法是使用cid 方法在电子邮件中嵌入图像。 (基本上包括图像作为附件,然后嵌入它)。根据我的经验,这种方法最近似乎得到了很好的支持。

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

【讨论】:

  • 确实有效,但遗憾的是,一些电子邮件服务会向您收取发送附件的费用。
  • 另外,很多客户端,包括 Gmail 网络界面,都会在邮件末尾附加所有附加图片的副本,这非常非常难看。
猜你喜欢
  • 2015-08-01
  • 2021-08-22
  • 2023-03-30
  • 1970-01-01
  • 2013-11-18
  • 1970-01-01
  • 2011-06-08
  • 2012-04-07
  • 2014-12-20
相关资源
最近更新 更多