电子邮件图片未显示 (Gmail)

Posted

技术标签:

【中文标题】电子邮件图片未显示 (Gmail)【英文标题】:Email Image not Showing (Gmail) 【发布时间】:2017-10-26 21:50:09 【问题描述】:

我用 html 编写了一封电子邮件,里面有一张图片。

图像“src”属性的 URL 指向我的服务器 (ASP.Net) 上的控制器操作端点,该端点返回 FileContentResult。

img 标签的示例如下所示:

<img src="https://www.mywebsite.com/controller/action?argument=value"    title="HeadingImage">

电子邮件在 Outlook 中按预期显示。

如果我从 Outlook 获取源代码并在 Chrome 桌面上查看它,它仍然可以正常工作。

如果我在 Chrome 中访问 img URL,图片就会被下载。

但是,如果我在 Gmail 中查看电子邮件,图像不会显示。为什么会这样? 我在控制台中收到一个错误,如下所示:

ci6.googleusercontent.com/proxy/<SNIP>https://www.mywebsite.com/controller/action?argument=value GET https://ci6.googleusercontent.com/proxy/<SNIP> 404 ()

【问题讨论】:

任何控制台错误? 检查 IIS 在以下位置生成的日志文件:C:\inetpub\logs\LogFiles\W3SVC1 我看不到任何错误,只是我认为端点被击中。 不,好的,您所说的viewing in gmail 是什么意思? Gmail.com 在浏览器中?如果是,浏览器控制台在您查看时是否显示任何错误? 对,在 Gmail 和 Chrome 中查看电子邮件时,图像出现一个 404 错误.... ci6.googleusercontent.com/proxy/mywebsite.com/controller/action?argument=value GET ci6.googleusercontent.com/proxy/<SNIP > 404 () 也许 GMail 不允许嵌入这种图像?用控制器生成动态图像? 【参考方案1】:

你好,你可以用这个对我有用

在 src url 中包含方案(使用“//”不起作用 - 使用完整方案 EG:“https://”) 包括宽度和高度属性 包括 style="display:block" 属性 包括 alt 和 title 属性

【讨论】:

谢谢,但我最初在我的示例中缺少协议......它仍然不适用于协议。我尝试了您的其他建议,即添加显示设置为“块”的内联样式,但仍然没有成功。另外,我已经指定了宽度、高度、alt 和标题属性。【参考方案2】:

只需在图片src中添加http://

<img src="http://www.mywebsite.com/controller/action?argument=value"    title="HeadingImage">

【讨论】:

对不起,我的错误。我在示例中遗漏了这个......它仍然不适用于协议。【参考方案3】:

首先,您需要将该图像添加到已部署的项目文件夹中,然后您需要指定图像的路径:

<img src="http://www.mywebsite.com/Images/YourImage.png" />

干杯!!

【讨论】:

谢谢,但我需要根据参数动态生成图像。这就是它当前指向控制器操作的原因。

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

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

对于从 java 程序发送的电子邮件,html 内容中的 png 图像未显示在 gmail 客户端上

Gmail 中未显示 HTML 图像

Sendgrid - 活动显示已发送电子邮件但未收到电子邮件

邮件中未显示 HTML 内容 [重复]

iOS 电子邮件中未显示 Web 安全字体