Поиск EWS с использованием строки запроса с котировками не работает для Exchange 2016 - PullRequest
0 голосов
/ 13 июля 2020

Приложение, которое я работаю, использует EWS со строкой запроса для поиска писем в папке. Когда я указываю строку запроса, например Subject: «New York», она не возвращает никаких писем с темой «New York Jets» или «New York Mets». Он будет возвращать только электронные письма с точным соответствием, например "Нью-Йорк". Это отлично работает при поиске в office365, но не в Exchange 2016. Кто-нибудь знает, почему он не работает, как описано в следующей статье: https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-perform-an-aqs-search-by-using-ews-in-exchange

Мой код функции:

    private List<Item> RetrieveItems(Folder folder, string query)
    {
        const int PAGE_SIZE = 500;

        List<Item> items = new List<Item>();
        int offset = 0;
        bool moreResults = false;

        do
        {
            ItemView view = new ItemView(PAGE_SIZE, offset);
            view.PropertySet = new PropertySet(EmailMessageSchema.Subject, EmailMessageSchema.LastModifiedTime, EmailMessageSchema.DateTimeCreated, EmailMessageSchema.Size, EmailMessageSchema.ItemClass, ItemSchema.HasAttachments);

            FindItemsResults<Item> results = null;
            Retry(() =>
            {
                results = folder.FindItems(query, view);
            });

            // Modify this to support "Collect Non-Email Data" (for non-public folder requests.)
            // Right now, we are collecting email AND non-email data unconditionally.
            items.AddRange(results);

            offset += PAGE_SIZE;
            moreResults = results.MoreAvailable;
        }
        while (moreResults);

        return items;
    }
...