【问题标题】:Using HTML file as mail body template, images are not showing使用 HTML 文件作为邮件正文模板,图像未显示
【发布时间】:2016-11-14 06:22:33
【问题描述】:

我正在尝试使用 HTML 文件作为邮件正文模板。 HTML 文件很少有像 LOGO 这样的内嵌图像。一切都很好,收到邮件后,我得到了 HTML 文件中的所有内容,除了图像。

src="~/Images/logo.png" 下面的示例但在收到邮件后,如果我在邮件客户端查看源代码,我会看到如下所示(使用 Google SMTP 服务器发送邮件)。

原因很清楚,为什么图像没有显示(因为src 部分正在更改),但不知道如何避免这种情况。

<img title="MyCompany" class="xxxx" alt="MyCompany"
src="https://ci4.googleusercontent.com/proxy/VigKoQr9DXTS3UveuswmpxB6iEAO5rcVwSrrVUptfWGAeYQFugjcKDZxDZbB6g=s0-d-e1-ft#http://~/Images/logo.png">

有什么解决办法吗?如何获得显示的实际图像? 谢谢。

【问题讨论】:

  • Google 的 SMTP 服务器似乎将 URL 注入到您的 SRC 属性中。但是,您的图像 URL 没有意义。此图像托管在哪里?您是否尝试过使用绝对 URL?
  • @raduation,这很明显,但不知道为什么会这样。这是一个纯 HTML 文件,其中包含 &lt;img alt="Mycompany" src="~/Images/logo.png" /&gt; 并且没有尝试使用绝对 URL
  • 那张图片在哪里?该图像应该如何在电子邮件接收者的机器上寻址?尝试使用绝对 URL。
  • @raduation,啊!!!忘了提......显然,所有项目都存在于根文件夹下名为Images的文件夹中。
  • @raduation,嗯......完全有道理。现在我明白你在说什么了。让我试一次。

标签: c# html mailmessage


【解决方案1】:

这里有解决方案!

对于电子邮件模板,您应该提供图片的绝对网址。

例如:&lt;img src="http://ngm.nationalgeographic.com/2015/11/climate-change/which-species-will-thrive/img/12-bengal-tiger-1024.jpg" &gt;

【讨论】:

  • 没关系,但如果图像在您的项目中会怎样?
  • 您应该将该图像上传到在线存储,如保管箱或其他存储,并在图像源中提供该 URL。
  • @SrikanthReddy :那最好通过他的 Gmail 帐户发送
  • 有意义...它必须是绝对 URL。
  • 只是添加注释~/ 是一个 .net 概念而不是 Web 标准。在动态上下文中,路径会生成并呈现到输出。由于这是一个静态 HTML 文件,~/ 保持原样。当然,这不会改变需要绝对 URL 的事实。
猜你喜欢
  • 2019-12-14
  • 2015-03-16
  • 1970-01-01
  • 1970-01-01
  • 2014-07-29
  • 2017-04-30
  • 2020-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多