使用EWS托管API导出多个电子邮件

时间:2013-09-08 11:10:05

标签: c# exchangewebservices ews-managed-api

我正在使用EWS Managed API 2.0,并且我想从服务器导出一组Microsoft.Exchange.WebServices.Data.ItemId个对象。我想导出特定的电子邮件属性,以减少带宽使用(特别是没有附件)。

执行此操作的一种方法是将ExchangeService.BindToItems方法与PropertySet一起使用,但此方法有些问题,因为如果一封电子邮件发生错误(例如,只有html正文而不是文本请求的身体),调用失败,我没有找到确定ItemId导致问题的方法,所以需要某种二进制搜索(我对文本正文而不是HTML正文特别感兴趣)。这似乎也不是正确的做法。

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

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

1 个答案:

答案 0 :(得分:0)

在MSDN上查看此主题,它解决了我认为的问题:

http://social.msdn.microsoft.com/Forums/exchange/en-US/6a7e2118-c3ab-46a7-b83a-74583782c3ad/exchange-web-services-managed-api-vs-webdav-performance-question

特别是关于错误处理的问题,这是由EWS项目经理David Claux在2010年提供的:

  

...您正确使用LoadPropertiesForItems,并且您认为ServiceResponse中的错误代码适用于传递给LoadPropertiesForItems的集合中相同序号位置的项目是正确的...