如何在c#中发送多部分MIME消息?

我想发送包含HTML组件和纯文本组件的多部分MIME消息,供电子邮件客户端无法处理HTML的人使用。 System.Net.Mail.MailMessage类似乎不支持此function。 你怎么做呢?

噢,这真的很简单……但是我会在这里留下答案给那些像我一样在Googling之前找到答案的人…… 🙂

相信这篇文章 。

使用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("this is bold text, and viewable by those mail clients that support html", 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);