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

问题描述 投票:0回答:3

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

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

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

等等

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

email base64 html-email data-uri
3个回答
141
投票

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

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

以及帖子内容: enter image description here


73
投票

另一种方法可能是使用

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

enter image description here

这里有更多阅读内容:https://sendgrid.com/blog/embedding-images-emails-facts/


0
投票

您可以链接到某些外部服务器上托管的图像。这非常简单,并且不会影响电子邮件的大小。您只需使用简单的“img”标签将图像作为 HTML 正文中的链接引用即可:

<img src="/wp-content/uploads/2018/11/blog/-illustration-email-embedding-images.png?w=640" alt="img" />

图像将作为外部内容加载。尽管它不会影响电子邮件的大小,但它仍然会影响性能。

选择正确托管图像的服务器:它应该能够应对高负载(如果您的消息是批量电子邮件发送的一部分并且目标是数千个收件人),并展示尽可能高的正常运行时间,以便随时下载和显示图像收件人打开电子邮件。

要记住什么:

  1. 对镜像主机的依赖(如果崩溃——会有红色 十字代替图像)。
  2. 可能对消息产生负面影响 垃圾邮件率。
  3. 默认情况下可能会被 Outlook 和其他电子邮件阻止 客户。请记住,如果图像包含安全敏感信息 信息,您可能不被允许在第三方托管它 服务。

我检查了 Gmail 收件箱以检查 HTML 电子邮件,发现亚马逊、GitHub、PayPal 和 Twitter 等巨头在其交易和营销电子邮件中使用链接图像,而且他们将它们托管在自己的专用服务器上。但并非每个发件人都能负担得起。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.