我正在使用Outlook AddIn,我必须获取Outlook邮件主机并将其存储在一个控件中,该控件可以根据我的要求进行操作。 代码是这样的:
Outlook.Application oApp = new Outlook.Application();
Outlook.Explorer oExplorer = oApp.ActiveExplorer();
Outlook.Selection oSelection = oExplorer.Selection;
foreach (object item in oSelection)
{
htmlEditor1.Html = mailItem.HTMLBody;
}
我使用
检查了html体格式oldMailItem.BodyFormat.ToString();
它提供的olFormatHTML与标准HTML不同。
如何从Outlook获取标准HTML?
答案 0 :(得分:1)
Outlook生成的HTML是有效的XHTML标记,将在浏览器中显示。它包含一堆额外的Microsoft特定标记,但浏览器会忽略这些标记,并且消息将(大部分)优雅地降级。
如果你真的想要删除这个额外的标记并且只留下标准的HTML,你可以使用诸如Html Agility Pack之类的解析器来去除任何具有命名空间前缀的标记(例如<o:p>
)。根据我的看法,Outlook使用o:
,w:
,v:
和m:
分别表示邮件,文本,形状和数学标记。
正如我所说,可能没有必要删除这些标记,因为它们不会阻止消息显示在WebBrowser
控件或类似内容中。