C#VSTO加载项-将纯文本电子邮件转换为HTML

问题描述

|| 我们已经为Outlook 2010/2007编写了VSTO插件。 一方面,我们的插件必须从功能区控件将纯文本电子邮件转换为HTML。这在Outlook中导致一些奇怪的行为: 我们正在使用MailItem COM对象 我们设置MailItem.HTMLBody 电子邮件已转换为HTML,但由于某种原因,字体为Times at 10pt的Roman Outlook中的认字体是Calibri 11pt,这使我们的电子邮件转换对用户来说看起来很奇怪。当您使用Outlook中的现有按钮转换为HTML时,它可以按预期工作,但是使用我们的外接程序的按钮时,它却无法正常工作。 因此,我们尝试了以下方法: 提前设置MailItem.BodyFormat 将我们的电子邮件文本包装为:“ 0”(通过查看新的Outlook电子邮件的来源,我们有了这个主意) 只要将字体更改为Calibri,在电子邮件正文周围包裹1标签就可以了,但是字体大小保持在10pt ... 有一个更好的方法吗?另一个解决方法? 编辑,工作代码
        if (_mailItem.BodyFormat != OlBodyFormat.olFormatHTML)
        {
            _mailItem.GetInspector.CommandBars.ExecuteMso(\"messageformatHtml\");
        }
_mailItem是Microsoft.Office.Interop.Outlook.MailItem。     

解决方法

您有两种方法: 通过ѭ3以编程方式“单击”内置按钮 关闭检查器,转换消息格式,保存电子邮件,然后重新打开。