【问题标题】:Gmail won't display images from external sources or inline base64 from my HTML emailsGmail 不会显示来自外部来源的图像或来自我的 HTML 电子邮件的内联 base64
【发布时间】:2019-04-16 15:53:51
【问题描述】:

我正在自动向我的节点服务器中的用户发送一些 HTML 电子邮件通知,使用 Nodemailer 和我的“无回复”g 套件电子邮件之一发送电子邮件。

在我的节点服务器中,我根据内容和通知类型动态构建我的 HTML 电子邮件,并且我希望在所有这些电子邮件中包含社交媒体图标、我的公司徽标(来自我的服务器公共资产文件夹)以及一些其中一个用于用户交互的内联 base64 二维码。

在 Outlook 中,所有图像都完全可见,即使是 base64 图像,但是当我尝试在 gmail 中查看它时,它就不会显示。这与 gmail 默认使用的代理有关,但我不明白为什么我的电子邮件会发生这种情况。

我在 gmail 中收到大量带有图片的 html 电子邮件,它们都工作得很好。

我已经做了很多研究,并遵循了与 gmail 'Images' 配置相关的所有提示,但没有任何效果。

如何使我的图片在 gmail 中可见?

谢谢!

【问题讨论】:

    标签: node.js email html-email nodemailer inline-images


    【解决方案1】:

    Gmail、Yahoo 不支持 Base64 图像,并且在其他电子邮件客户端中存在问题。

    让您的图片可见的最佳方式是远程托管您的图片并链接到它们。

    举个例子:

    <img src="https://via.placeholder.com/200x50" width="200" height="50" alt="alt_text" border="0" />
    

    相对于:

    <img alt="Embedded Image" src="data:image/png;base64,ieMailBoreGoWALLYNSUyEAAAEIEIO..." />
    

    祝你好运。

    【讨论】:

    • 感谢您的反馈和信息。问题是即使来自“src”属性的外部图像也没有显示在我的电子邮件中。你知道为什么会这样吗?
    • @FelipeMicali 不,我不知道发生了什么。我们都不知道发生了什么,因为您从不费心发布您的 html 代码。我可以告诉您,如果我的代码示例对您不起作用,那么您对电子邮件结构所做的某些事情是错误的。如果它适用于您,但不适用于您自己的图像,则您没有将它们放在可公开访问的主机上,这意味着如果您将路径复制到任何 Web 浏览器中,它就会显示。例如,此图像可公开访问:http://www.gwally.com/news/photos/catintinfoilhat.jpg
    猜你喜欢
    • 1970-01-01
    • 2017-02-21
    • 2013-04-21
    • 2022-06-18
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    相关资源
    最近更新 更多