尝试将Outlook MailItem保存为HTML格式的MSG,但它以纯文本格式打开

时间:2019-07-02 17:38:59

标签: c# outlook format interop

我有一个引用Microsoft Office 16.0对象库的c#类文件。

它创建一个Outlook MailItem,格式为HTML,并将MSG文件保存在本地。问题是,当我打开保存的文件时,Outlook会将其视为纯文本。这是我正在查看的示例:

oMsg = oApp.CreateItem(Outlook.OlItemType.olMailItem);
oMsg.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
oMsg.HTMLBody = @"<b>Test</b>";
...
oMsg.SaveAs(Path.Combine(path, filename), Outlook.OlSaveAsType.olMSG);

当我打开保存的文件时,Test不是加粗的,并且消息的格式显示为纯文本。有什么我想念的吗?

我还应该补充一点,当我将此消息发送到Outlook收件箱(而不是保存)时,它可以工作。我不确定MSG文件有什么问题。

1 个答案:

答案 0 :(得分:0)

以下测试脚本没有问题(我使用Outlook Spy来运行它):

set oMsg = Application.CreateItem(olMailItem)
oMsg.BodyFormat = olFormatHTML
oMsg.HTMLBody = "<b>Test</b>"
oMsg.Save
oMsg.SaveAs "c:\temp\testhtml.msg", olMSG