Сбой создания EWS SearchFolder: ErrorEmailAddressMismatch - PullRequest
0 голосов
/ 20 сентября 2019

Для клиента у меня есть набор shareMailboxes.Из каждого из них я должен собрать все элементы IPM.Note за определенный промежуток времени.Почти для всех почтовых ящиков код работает нормально.Но для некоторых из них у меня есть следующая ошибка:

Microsof.Exchange.WebServices.Data.ServiceResponseExpeption: Адрес электронной почты, связанный с идентификатором папки, не соответствует почтовому ящику, с которым вы работаете.

по следующей ссылке (https://docs.microsoft.com/en-us/dotnet/api/microsoft.exchange.webservices.data.serviceerror?view=exchange-ews-api) я нашел объяснение:

"Происходит, когда адрес электронной почты для отличительного идентификатора папки не существуетсопоставить почтовый ящик, с которым вы работаете. Например, вы не можете создать папку поиска, которая существует в одном почтовом ящике, но рассматривает выделенные папки из другого почтового ящика в своих критериях поиска. "

все еще неясно,мне, как я мог избежать этого условия при определении критерия поиска.

Вот код:

SearchFilter.SearchFilterCollection searchFilterCollection = new SearchFilter.SearchFilterCollection(LogicalOperator.And);
        SearchFolder searchFolder = new SearchFolder(searchfolderservice);

        // Defining the filters options. Specifically it is looking at the Class of the Message and select all the message that are IPM.Note* type
        searchFilterCollection.Add(new SearchFilter.ContainsSubstring(ItemSchema.ItemClass, "IPM.Note", ContainmentMode.Substring, ComparisonMode.IgnoreCase));

        // Defining the time window for the search criteria
        var START_DATE = Properties.Settings.Default.START_DATE;
        searchFilterCollection.Add(new SearchFilter.IsGreaterThan(ItemSchema.DateTimeReceived, START_DATE));
        var END_DATE = Properties.Settings.Default.END_DATE;
        searchFilterCollection.Add(new SearchFilter.IsLessThan(ItemSchema.DateTimeReceived, END_DATE));

        //searchFilterCollection.Add(new SearchFilter.ContainsSubstring(ItemSchema.Subject, "picture attached"));
        searchFolder.DisplayName = SEARCHFOLDER_IPM_NOTE;
        searchFolder.SearchParameters.RootFolderIds.Add(SharedMailbox);
        searchFolder.SearchParameters.Traversal = SearchFolderTraversal.Deep;
        searchFolder.SearchParameters.SearchFilter = searchFilterCollection;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...