3

EWS マネージ API を使用して Exchange を検索し、すべてのフォルダーのすべての電子メール メッセージを検索する方法はありますか? FindItems API 呼び出しを使用していますが、検索を 1 つのフォルダーに限定する必要があるようです。

   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 に答える