未显示 Gmail 的图片

Posted

技术标签:

【中文标题】未显示 Gmail 的图片【英文标题】:Images not displayed for Gmail 【发布时间】:2014-01-17 04:24:14 【问题描述】:

最近,Google 宣布,出于安全考虑,Gmail 将使用代理加载外部图片。这导致我的应用程序在 gmail 中显示图像时出现问题。

Gmail 图片元素检查: https://ci5.googleusercontent.com/proxy/N4RZncgANd5glVi64ElKxecSE10SH6iAhu2VKOK3jJtgaRKBUsqwOn6iDwY49unvlD9Xi6cSZp0T4u1N_KHhBY-TxFaV8P***SMn4A=s0-d-e1-ft#http://localhost:8080/email/thread/1301/images/correct)不重复“>올바른답변

根据上面的 html,实际图像 URL 前面带有一个 Google 代理 URL,以阻止要显示的图像。如果我们删除这个垃圾 URL,图像开始看起来很好。 Apple Mac 邮件不会出现同样的问题。

我们使用 Java Mailing API 提供了邮件功能。请提出建议。

谢谢, 迪维亚·加格

【问题讨论】:

我在使用 Magento 中的 hMail 服务器从 loaclhost 向其他用户发送电子邮件时遇到了类似的问题。 任何人解决它??? 【参考方案1】:

这里的问题是您用于邮件的 URL。从提供的信息来看,它似乎是:

http://localhost:8080/email/thread/1301/images/correct

这是一个指向本地计算机上文件的 URL。但是,该 URL(而不是实际图像)正在传递给 Google 的代理进行检索。 Google 无法从其代理访问该 URL,因此图像不会出现。

解决方案是确保您使用的路径可以在本地网络之外访问;例如,通过将图像托管在面向外部的服务器上。

【讨论】:

出于开发目的,您可以在调试器控制台 (F12) 中使用此 javascript 来显示此图片: (function() while(img = document.evaluate('//img[contains(@ src, \'googleusercontent.com\')]', 文档,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue) var src = img.attributes.src.value; src = src.substr(src.indexOf('# ')+1); img.attributes.src.value = src; )(); 对于outlook.com:(function() while(img = document.evaluate('//img[contains(@src, \'mail.live.com\')]', document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue) var src = img.attributes.src.value; src = src.substr(src.indexOf('url=')+4); img.attributes.src.value = decodeURIComponent(src); )(); @JBreton 它冻结了我的电脑 @JBreton 即使这曾经在某些时候有效,但现在看来它冻结了我在 Mac 上的 Firefox。 @VictorBredihin @medonja GMail 设计更改破坏了我的 ol'lil'script。这是一个更新的:(function() while(img = document.evaluate('//img[contains(@src, \'googleusercontent.com\')][contains(@src, \'#\')]', document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue) var src = img.attributes.src.value; src = src.substr(src.indexOf('#')+1); img.attributes.src.value = src; )(); 我添加了一个条件,src 现在需要包含#。这可以防止无限循环。

以上是关于未显示 Gmail 的图片的主要内容,如果未能解决你的问题,请参考以下文章

图片未显示在 Gmail 中 - 使用 django python-postmark

AMP 未显示在 Gmail 中

mailchimp 电子邮件在 gmail 中未正确显示

Gmail 中未显示 HTML 图像

CodeIgniter 上的 SMTP 显示成功,但电子邮件未发送到 Gmail 帐户

HTML 图像未显示在通过 VBA 中的 Gmail API 发送的 MIME 消息中,使用 3D