Приложение, которое я работаю, использует 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;
}