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

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

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

img 标签的示例如下所示:

<img src="https://www.mywebsite.com/controller/action?argument=value" width="600" height="300" alt="HeadingImage" 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 不允许嵌入这种图像?用控制器生成动态图像?

标签: html asp.net-mvc image email 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" width="600" height="300" alt="HeadingImage" title="HeadingImage">

【讨论】:

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

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

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

干杯!!

【讨论】:

  • 谢谢,但我需要根据参数动态生成图像。这就是它当前指向控制器操作的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 2017-06-11
  • 2020-04-09
  • 2016-12-31
  • 2011-10-17
  • 2015-10-12
相关资源
最近更新 更多