我们为Outlook 2010/2007编写了一个VSTO插件。在某个时候,我们的插件必须从功能区控件将纯文本电子邮件转换为HTML。这会导致Outlook出现一些奇怪的行为:
所以我们尝试了以下方法:
有更好的方法吗?还有其他解决方法吗?
编辑,可行代码:
- 我们使用MailItem COM对象
- 我们设置MailItem.HTMLBody
- 电子邮件被转换为HTML,但字体却是10pt的新罗马字体
所以我们尝试了以下方法:
- 提前设置MailItem.BodyFormat
- 用
<span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'></span>
包装我们的电子邮件文本(我们从查看新Outlook电子邮件的源代码中得到了这个想法)
<span>
标签包装在电子邮件正文周围可以更改字体为Calibri,但字体大小仍保持在10pt...有更好的方法吗?还有其他解决方法吗?
编辑,可行代码:
if (_mailItem.BodyFormat != OlBodyFormat.olFormatHTML)
{
_mailItem.GetInspector.CommandBars.ExecuteMso("MessageFormatHtml");
}
_mailItem是Microsoft.Office.Interop.Outlook.MailItem。