我有一个应用程序,它会定期轮询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 配合使用