3

有没有办法使用 EWS 托管 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));
    }
4

1 回答 1

3

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

于 2010-07-27T20:08:22.057 回答