c# – 如何以富文本格式向Outlook发送电子邮件?
发布时间:2020-12-15 04:10:34 所属栏目:百科 来源:网络整理
导读:通过分配text / html内容类型字符串,以 HTML格式发送电子邮件(到Outlook)非常有用: using (MailMessage message = new MailMessage()){ message.From = new MailAddress("--@---.com"); message.ReplyTo = new MailAddress("--@---.com"); message.To.Add(n
通过分配text / html内容类型字符串,以
HTML格式发送电子邮件(到Outlook)非常有用:
using (MailMessage message = new MailMessage()) { message.From = new MailAddress("--@---.com"); message.ReplyTo = new MailAddress("--@---.com"); message.To.Add(new MailAddress("---@---.com")); message.Subject = "This subject"; message.Body = "This content is in plain text"; message.IsBodyHtml = false; string bodyHtml = "<p>This is the HTML <strong>content</strong>.</p>"; using (AlternateView altView = AlternateView.CreateAlternateViewFromString(bodyHtml,new ContentType(MediaTypeNames.Text.Html))) { message.AlternateViews.Add(altView); SmtpClient smtp = new SmtpClient(smtpAddress); smtp.Send(message); } } 电子邮件在Outlook(2003)中被正确识别为HTML. MediaTypeNames.RichText; Outlook没有检测到这一点,它回退到纯文本. 解决方法
最重要的是,您无法使用System.Net.Mail轻松完成此操作.
Outlook中的富文本作为SMTP世界(Exchange外部)的winmail.dat文件发送. winmail.dat文件是TNEF消息.因此,您需要在winmail.dat文件中创建您的richtext(格式化为TNEF规则). 但是,并非全部. Outlook使用特殊版本的压缩RTF,因此,在将其添加到winmail.dat文件之前,还需要压缩RTF. 最重要的是,这很难做到,除非客户真的需要这个功能,否则我会重新考虑它. 这不是你可以用.NET中的几行代码做的事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |