2015-10-29 162 views
1

我有一个应用程序,可以定期轮询2010交换服务器电子邮件收件箱中是否有特定主题的电子邮件。带有HTML BodyType的EWS电子邮件

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

如果电子邮件的正文包含经过xsd验证的XML,通常这可以正常工作,但是当电子邮件具有HTML的BodyType时,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; 
} 

回答

0

有可能获得PR_HTML MAPI服务......和属性。您可以在请求中添加为扩展属性。它适用于Exchange Web Services .NET,但也应该与EWS托管API配合使用

+0

请添加更多细节 –

相关问题