C# 使用EWS管理的API导出多封电子邮件

C# 使用EWS管理的API导出多封电子邮件,c#,exchangewebservices,ews-managed-api,C#,Exchangewebservices,Ews Managed Api,我使用的是EWS Managed API 2.0,有一个Microsoft.Exchange.WebServices.Data.ItemId对象数组,我想从服务器导出。我只想导出特定的电子邮件属性以减少使用量(尤其是没有附件) 一种方法是将ExchangeService.BindToItems方法与PropertySet一起使用,但是这种方法有点问题,因为如果一封电子邮件出现错误(例如,只有html正文而不是请求的文本正文),调用将失败,并且我还没有找到确定是什么ItemId导致了问题的方法,因

我使用的是EWS Managed API 2.0,有一个Microsoft.Exchange.WebServices.Data.ItemId对象数组,我想从服务器导出。我只想导出特定的电子邮件属性以减少使用量(尤其是没有附件)

一种方法是将
ExchangeService.BindToItems
方法与
PropertySet
一起使用,但是这种方法有点问题,因为如果一封电子邮件出现错误(例如,只有html正文而不是请求的文本正文),调用将失败,并且我还没有找到确定是什么ItemId导致了问题的方法,因此需要某种二进制搜索(我对文本体特别感兴趣,而不是HTML体)。而且这似乎不是正确的做法

我发现它使用ExchangeServiceBinding类及其ExportItems方法,但这样我无法控制返回的电子邮件属性,结果不是一个电子邮件对象,而是一个包含电子邮件作为某种序列化数据的对象


使用EWS管理的API导出多封电子邮件的正确方法是什么?

在MSDN上查看此线程,它解决了您的问题,我相信:

具体到您关于错误处理的观点,这是由EWS项目经理David Claux在2010年提供的:

…您正确地使用了LoadPropertiesForItems,并且您正确地假设ServiceResponse中的错误代码应用于传递给LoadPropertiesForItems的集合中相同序号位置的项