带有HTML BodyType的EWS电子邮件



我有一个应用程序,它会定期轮询2010 exchange服务器的电子邮件收件箱,以查找具有特定主题的电子邮件。

我在VS2008中使用c#,.Net 3.5。我可以成功连接到,检索我需要的所有电子邮件。

如果电子邮件的正文包含用xsd验证的XML,通常情况下这是正常的,但当电子邮件的BodyType为HTML时,不会显示XML标记,并且xsd验证失败。

如果我在电子邮件正文上显示源代码,xml标记就全部存在。我的问题是,如何获得实际的xml文本而不是html文本?我使用启动服务

m_Service = new ExchangeService(ExchangeVersion.Exchange2010);

我使用此返回搜索结果。。。

public void getEmails(string searchType)
{
   ItemView itemView = new ItemView(int.MaxValue);
   SearchFilter searchFilter = new SearchFilter.ContainsSubstring(EmailMessageSchema.Subject, EmailSubject);
   SearchResults = Service.FindItems(GetFolderName(searchType), searchFilter, itemView);
}

并加载个人电子邮件

foreach (Item item in SearchResults)
{
    item.Load();
    EmailMessage mes = (EmailMessage)item;
    string emailBody = item.Body.Text;
}

可以获取PR_HTML MAPI属性。您可以在请求中添加为扩展属性。它与Exchange Web Services.NET配合使用,但也应与EWS托管API 配合使用