2010-08-07 26 views
2

我试图发送一个HTML电子邮件到一个Gmail帐户,但由于某种原因,谷歌正在从我的电子邮件剥离掉HTML。当我发送到其他帐户(非Gmail帐户)时,Html被保留,所以我知道我的HTML是正确的。发送来自C#的HTML电子邮件

这里是我要如何看:

  1. 我有一个aspx页面,我作为一个电子邮件模板使用。
  2. 我从web服务(在C#中完成)从aspx页抓取html
  3. 通过web服务中的c#代码动态填充非静态内容。
  4. 将其作为电子邮件正文发送。

有谁碰巧知道为什么Gmail是删除HTML? 在此先感谢。

+1

在这里分享最小的非工作代码。 – 2010-08-07 14:40:48

回答

0

的HTML是当我发送到其他帐户(非Gmail帐户)时保留,所以我知道我的HTML是正确的。

这不是一个编程问题。如果是的话,正如你所观察到的,这将发生在所有客户身上。

的问题是这样的:大多数现代的电子邮件客户端允许用户选择禁止使用HTML邮件,或始终视其为纯文本。这可能是这里发生的事情。你必须编码才能期待这一点,因为你无法控制用户的偏好。如果他们启用了此功能,并且只将它作为html发送,则它们对他们来说看起来会很难看。

然而,对于解决您的问题,您应该总是发送邮件作为Multi-Part Mime消息,让所有的客户端得到一个不错的可读版本。

+0

谢谢大卫。我一定会确保它是多部分Mime – 2010-08-07 16:45:12

2

您需要确保设置IsBodyHtml属性为true您MAILMESSAGE:

var message = new MailMessage(); 
message.IsBodyHtml = true; 
// Fill and send message here 

退房获取更多信息参考MSDN:

System.Net.Mail.MailMessage Members