【发布时间】:2017-06-11 08:25:28
【问题描述】:
我一直在在线查看不同的主题,并在 SO 讨论将图像嵌入电子邮件以及为什么它们不总是发送图像。我将 base64 编码的字符串嵌入到 img 标签中,而 gmail 拒绝了它。当我检查电子邮件时,img src 属性为空,并且一些信息已添加到表示其父元素的“a”标签中。我确保将我的 gmail 设置设置为包含外部图像!当我查看 outlook.com 的电子邮件时,他们确实会发送图片。
我听说电子邮件和图片必须来自公共服务器?目前我正在从运行 iis 的本地主机发送电子邮件(因为我正在测试)并使用 sendgrid 发送我的电子邮件。
谁能给我更多的建议,让我在 gmail 的服务中将图像显示在我的电子邮件中?
仅供参考 - 这是我构建图像标签的方式。我在 img 标签中包含了不同的属性以使其显示,但这些属性都不适用于 gmail。我也使用“@Raw”,因为我正在使用 razore 引擎 nuget 包构建我的电子邮件,而“Html.Raw()”不适用于 Razore 引擎!在我将其发送到 sendgrid 以将其邮寄之前,电子邮件文本看起来不错,我在 Outlook 中看到它的图像,所以我知道正文很好。
<a href="www.mysite.com/Space/Public/@Model.SpaceId" target="_blank" class="thumbnail" style="margin-bottom: 0px;">
<img alt="SpaceImage" title="Space Image" style="display: block" width="225" height="225" src="data:image/jpg;base64,@Raw(Model.SpaceThumbnail)" />
<div class="caption">
@Model.SpaceName
</div>
</a>
【问题讨论】:
标签: html asp.net-mvc image gmail html-email