.net – MailMessage.IsBodyHtml做什么?

前端之家收集整理的这篇文章主要介绍了.net – MailMessage.IsBodyHtml做什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在测试通过C#发送一些电子邮件,但我无法确定IsBody Html的真正效果设置.不管价值如何,无论我在Body中发送的内容类型为“text / plain”,我的HTML都显示了我的电子邮件客户端(gmail)中的所有标签.这个国旗实际上应该做什么?

注意:我可以通过创建一个内容类型为“text / html”的AlternateView发送一个HTML电子邮件,我只是想了解如何设置身体应该工作.

解决方法

这是我每天使用的SMTP帮助器的摘录….
  1. public bool SendMail(string strTo,string strFrom,string strCc,string strBcc,string strBody,string strSubject)
  2. {
  3.  
  4. bool isComplete = true;
  5.  
  6. SmtpClient smtpClient = new SmtpClient();
  7. MailMessage message = new MailMessage();
  8.  
  9. try
  10. {
  11. //Default port will be 25
  12. smtpClient.Port = 25;
  13.  
  14. message.From = new MailAddress(smtpEmailSource);
  15. message.To.Add(strTo);
  16. message.Subject = strSubject;
  17.  
  18. if (strCc != "") { message.Bcc.Add(new MailAddress(strCc)); }
  19. if (strBcc != "") { message.Bcc.Add(new MailAddress(strBcc)); }
  20.  
  21. message.IsBodyHtml = true;
  22.  
  23. string html = strBody; //I usually use .HTML files with tags (e.g. {firstName}) I replace with content. This allows me to edit the emails in VS by opening a .HTML file and it's easy to do string replacements.
  24.  
  25. AlternateView htmlView = AlternateView.CreateAlternateViewFromString(html,new ContentType("text/html"));
  26.  
  27. message.AlternateViews.Add(htmlView);
  28.  
  29.  
  30. // Send SMTP mail
  31. smtpClient.Send(message);
  32. }
  33. catch
  34. {
  35. isComplete = false;
  36. }
  37.  
  38. return isComplete;
  39. }

[UPDATE]

关键点,我最初离开了…

> IsBodyHtml声明您的邮件是HTML格式的.如果你只发送一个HTML视图,这就是你需要的.
> AlternateView用于存储我的HTML,这不是发送HTML消息所必需的,但如果要发送包含HTML和纯文本的消息(如果接收方无法呈现HTML),则需要此功能.

我拿出了我以上的plainView,这不是很明显,对不起…

这里的关键是,如果要发送HTML格式的消息,您需要使用IsBodyHtml = true(默认为false)将您的内容呈现为HTML.

猜你在找的HTML相关文章