如何以最少的EWS电话数量从Exchange 2010获取所有电子邮件?获取邮箱中的所有电子邮件
我们的邮箱有2k个文件夹的50k +电子邮件。我已经尝试遍历每个文件夹,但这需要几个小时来获取我的所有电子邮件。我目前的做法是从邮箱中提取所有文件夹,然后制作一个搜索过滤器列表,基本上筛选父文件夹ID为的所有项目,其中包括。
这是我到目前为止。
var allFolders = exchangeService.FindFolders(folderId,
new FolderView(int.MaxValue) {Traversal = FolderTraversal.Deep});
var searchFilterCollection = new List<SearchFilter>();
foreach(var folder in allFolders)
searchFilterCollection.Add(new SearchFilter.SearchFilterCollection(LogicalOperator.Or,
new SearchFilter.IsEqualTo(ItemSchema.ParentFolderId, folder.Id.ToString())));
var itemView = new ItemView(int.MaxValue)
{
PropertySet = PropertySet.FirstClassProperties
};
var findItems = exchangeService.FindItems(folderId,
new SearchFilter.SearchFilterCollection(LogicalOperator.Or, searchFilterCollection), itemView);
我收到的错误The property can not be used with this type of restriction.
。
哪一行触发错误? – sq33G
我使用'FindItems()' – gcso
的最后一行看到我的问题和答案:http://stackoverflow.com/a/12691639/965722 – Misiu