从C#发送HTML电子邮件

时间:2010-08-07 14:31:51

标签: c# html email

我正在尝试将html电子邮件发送到Gmail帐户,但由于某种原因,Google正在从我的电子邮件中删除html。当我发送到其他帐户(非gmail帐户)时,Html会被保留,所以我知道我的HTML是正确的。

以下是我的意思:

  1. 我有一个aspx页面,我用它作为电子邮件模板。
  2. 我从Web服务(在C#中完成)中从aspx页面获取html
  3. 通过Web服务中的c#代码动态填写非静态内容。
  4. 将其作为电子邮件正文发送。
  5. 有没有人碰巧知道为什么gmail会删除html? 提前谢谢。

2 个答案:

答案 0 :(得分:2)

您需要确保在MailMessage上将IsBodyHtml属性设置为true:

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

查看MSDN参考以获取更多信息:

System.Net.Mail.MailMessage Members

答案 1 :(得分:0)

  

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

这不是编程问题。如果是,正如您所观察到的那样,这将发生在所有客户身上。

问题是:大多数现代电子邮件客户端允许用户选择禁止html消息,或始终将其视为纯文本。这可能就是这里发生的事情。您必须编写代码以期望这一点,因为您无法控制用户的首选项。如果他们已启用此功能,并且您仅将其作为html发送,则对他们来说看起来很难看。

但是,对于您的问题的解决方案,您应始终将您的邮件作为Multi-Part Mime消息发送,以允许所有客户端获得良好的可读版本。