使用Exchange Web Services进行Exchange跨文件夹搜索

3

有没有一种使用EWS Managed API搜索Exchange所有文件夹中的所有电子邮件的方法。我正在使用FindItems API调用,但似乎需要将搜索限制在单个文件夹中。

   private void InternalPurgeProcessFolder(FolderId folderId, ExchangeService service, SearchFilter searchCriteria) {

        Logger.Info("Processing folder {0}", folderId.FolderName);

        int pageSize = _runtimeParameters.ExchangeRetrievalPageSize;
        ItemView itemView = new ItemView(pageSize);
        itemView.PropertySet = Utils.BasicPropertySet();
        const int maxInterationsForTesting = 2;
        int iterations = 0;
        FindItemsResults<Item> findResults;
        do {
            ++iterations;
            Logger.Debug("Start of iteration {0}", iterations);
            findResults = service.FindItems(folderId, searchCriteria, itemView);
            _dumper.ListDatesAndSubjectsBrief(findResults);
            itemView.Offset += pageSize;
        } while ((findResults.MoreAvailable) && (iterations < maxInterationsForTesting));
    }
1个回答

3
为查找多个文件夹中的项目,您可以创建一个搜索文件夹,并在SearchFolderParameters中设置RootFolderIds为邮箱的根文件夹,并将遍历模式设置为SearchFolderTraversal.Deep。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接