Używam usług internetowych Exchange do łączenia się ze skrzynką pocztową i wyszukiwania wiadomości spełniających określone kryteria, używając FindItems z SearchFilter.Usługi internetowe Exchange: wyszukiwanie wiadomości e-mail wysyłanych do adresata
mogę dostać e-maile w skrzynce filtrowanie na „z” adres e-mail tak:
var service = new ExchangeService(ExchangeVersion.Exchange2010_SP1)
{
TraceEnabled = true,
Credentials = new WebCredentials(username, password)
};
var filter = new SearchFilter.ContainsSubstring(EmailMessageSchema.From, "[email protected]");
service.FindItems(WellKnownFolderName.Inbox, filter, new ItemView(50))
I mogę filtrować na posesji DisplayTo
jak ten:
var filter = new SearchFilter.ContainsSubstring(EmailMessageSchema.DisplayTo, "display name");
Ale o ile Mogę powiedzieć, że tylko przeszukuje wyświetlaną nazwę odbiorcy. Chcę wyszukać na adres e-mail lub nazwę domeny.
To nie zwraca wyników, kiedy będę oczekiwać, że:
var filter = new SearchFilter.ContainsSubstring(EmailMessageSchema.ToRecipients, "[email protected]");
Czy to możliwe, aby znaleźć wszystkie wiadomości e-mail, na który lista odbiorców zawiera określonego adresu e-mail?
Wygląda jak ten problem nadal istnieje w EWS API 2.2. Czy znalazłeś jakieś obejście? – 02Anant
@ 02Anant Moim rozwiązaniem było użycie FindItems z ciągiem zapytania, pokazanym w mojej odpowiedzi i opisanym tutaj https://msdn.microsoft.com/en-us/library/ee693615.aspx – mattk