c# - 将图像嵌入电子邮件

标签 c# asp.net email internet-explorer-8 gmail

我创建了一个 C# Webform 程序,用于在我的网页上向客户发送提醒电子邮件。

它在 Outlook 中工作正常。在 FireFox 上的 Gmail 中。

我刚刚发现(我不使用 IE)在 IE 8 中的 gmail 中它不显示图像?

它只有一个 X 和替代文本。

我不明白为什么 IE 8 和 gmail 不显示图像,我已经试了一下。

在 C# 中:

LinkedResource emo2 = new LinkedResource(logoPath);
emo2.ContentId = "logo";
emo2.TransferEncoding = System.Net.Mime.TransferEncoding.Base64;
htmlView.LinkedResources.Add(emo2);

在我的 HTML 文件中:

<img id="header" alt="MyWebpage" src="cid:logo" />

通过电子邮件发送时事通讯对所有不同的客户来说都是如此令人沮丧。但我从没想过 Gmail 会成为我的问题!

最佳答案

我们有类似的要求,将图像嵌入到 HTML 电子邮件中,而不是链接到我们网站上托管的图像。主要区别在于用户不需要在他们的电子邮件客户端中单击“显示所有图像”,即电子邮件应该立即呈现给收件人。

我们创建了嵌入图像,它在 Outlook 和其他一些电子邮件客户端中运行良好,但我们发现一些电子邮件客户端不喜欢它们,正如您在 gmail 中注意到的那样。经过几天的研究和尝试不同的事情,我们得出结论,没有 Elixir 可以让您的电子邮件在所有主要电子邮件客户端中正确显示其嵌入的图像。

我们在我们的网站上解决并托管了图像(这意味着用户获得“显示所有图像”按钮......),并使用类似的东西:

<img src="http://website/image.jpg"/>

如果您有耐心,您可以为除特定地址(例如@gmail.com)之外的所有电子邮件地址嵌入图像,但我的偏好是保持一致性,因此只链接到图像。

关于c# - 将图像嵌入电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7118405/

相关文章:

php - Drupal 7 发送不带附件的电子邮件

php - 尝试发送电子邮件时 php 出错

asp.net - 将现有列更改为标识

c# - 获取占位符中动态生成的文本框的值

c# - 如何将字符串呈现为 html 链接

c# - 基于输入数据的自定义返回类型

asp.net - 电子邮件 token 在 15 分钟后过期 - Asp Identity 2.0 API

html - <tr><td> 之间的奇怪空格仅在 iOS 和 Android 上

c# - 解析正则表达式模式时出错

c# - 在长字符串中查找所有以 [ 开头并以 ] 结尾的字符串部分