在html中嵌入图像在Outlook 2010中不起作用

时间:2017-02-20 23:18:12

标签: html asp.net image email outlook

我正在尝试从我的ASP.NET Web窗体应用程序发送电子邮件,并且电子邮件正文有一个图像。我按照下面的讨论,并能够将图像设置为base64-data字符串。

embedding image in html email

在HTML模板中设置图像src(用于构建电子邮件内容)之后,我使用以下c#代码来设置cid值。

C#

 AlternateView htmlView = AlternateView.CreateAlternateViewFromString("<img src=cid:applogo>", null, "text/html");
 LinkedResource logo = new LinkedResource(@"\\app\images\emailheader.png");
 logo.ContentId = "applogo";
 htmlView.LinkedResources.Add(logo);

 mailMessage.AlternateViews.Add(htmlView);

有效:

在浏览器中查看电子邮件时,图像正常显示。

问题:

在Outlook 2010中查看电子邮件时,不显示图像。

问题:

我是否需要应用任何设置或是否存在兼容性问题?

2 个答案:

答案 0 :(得分:1)

具有mso条件修复的代码

<table style="width: 100%;" width="100%">
   <tr>
      <td style="text-align: left; width: 50%;" width="50%">
<h1 style="color: #12646d !important;" mc:edit="newslettername">YOUR NEWSLETTER NAME</h1>
</td>
<td style="position: relative; text-align: right; width: 50%;" width="50%">
<a href="http://iteams.us" style="border: 0; text-decoration:none;">

   <!--[if mso]>
      <table width="50%"><tr><td><img width="200" src="https://gallery.mailchimp.com/c2ce47add15fcafd7072b3dd2/images/d8ac365e-7397-4bb1-ba7f-a1cacdd78cfd.png" alt="ITEAMS" style="text-align: right; width: 207px; border: 0; text-decoration:none; vertical-align: baseline;"></td></tr></table>
      <div style="display:none">
   <![endif]-->
<img id="ITeamsLogo" src="https://gallery.mailchimp.com/c2ce47add15fcafd7072b3dd2/images/d8ac365e-7397-4bb1-ba7f-a1cacdd78cfd.png" alt="ITEAMS" style="text-align: right; min-width: 50px; max-width: 207px; border: 0; text-decoration:none; vertical-align: baseline;">
   <!--[if mso]>
      </div>
   <![endif]-->
</a>
</td>
   </tr>
</table>

答案 1 :(得分:0)

Outlook使用Word呈现Outlook电子邮件的HTML内容。您可以尝试使用Word来检查图像是否显示。

您需要将图像添加为隐藏附件才能在Outlook中查看它。