【发布时间】:2011-07-25 22:09:43
【问题描述】:
我想为电子邮件客户端无法处理 HTML 的用户发送包含 HTML 组件和纯文本组件的多部分 MIME 消息。 System.Net.Mail.MailMessage 类似乎不支持这一点。你是怎么做到的?
【问题讨论】:
我想为电子邮件客户端无法处理 HTML 的用户发送包含 HTML 组件和纯文本组件的多部分 MIME 消息。 System.Net.Mail.MailMessage 类似乎不支持这一点。你是怎么做到的?
【问题讨论】:
哦,这真的很简单......但我会把答案留给像我一样在谷歌搜索之前来寻找答案的人...... :)
归功于this article。
使用AlternateViews,像这样:
//create the mail message
var mail = new MailMessage();
//set the addresses
mail.From = new MailAddress("me@mycompany.com");
mail.To.Add("you@yourcompany.com");
//set the content
mail.Subject = "This is an email";
//first we create the Plain Text part
var plainView = AlternateView.CreateAlternateViewFromString("This is my plain text content, viewable by those clients that don't support html", null, "text/plain");
//then we create the Html part
var htmlView = AlternateView.CreateAlternateViewFromString("<b>this is bold text, and viewable by those mail clients that support html</b>", null, "text/html");
mail.AlternateViews.Add(plainView);
mail.AlternateViews.Add(htmlView);
//send the message
var smtp = new SmtpClient("127.0.0.1"); //specify the mail server address
smtp.Send(mail);
【讨论】: