Filtrowanie wiadomości z skrzynki Exchange przy użyciu WebDav
Filtrowanie wiadomości przy użyciu WebDav
Ten ExchangeClient klasa udostępnia ListMessages() metoda, która pobiera wszystkie wiadomości ze skrzynki pocztowej. Aby uzyskać tylko wiadomości spełniające określony warunek, użyj przeciążonej ListMessages() metoda, która przyjmuje MailQuery klasę jako argument. Ta MailQuery klasa udostępnia różne właściwości do określania warunków, np. daty, tematu, nadawcy i odbiorcy. Dodatkowo API umożliwia stosowanie filtrów rozróżniających wielkość liter przy pobieraniu e‑maili ze skrzynki.
Filtrowanie wiadomości
Aby uzyskać filtrowane wiadomości ze skrzynki:
- Połącz się z serwerem Exchange.
- Utwórz instancję MailQuery i ustawić żądane właściwości.
- Wywołaj ExchangeClient.ListMessages() metodę i przekazać MailQuery w parametrze, aby otrzymać tylko przefiltrowane wiadomości.
Poniższy fragment kodu pokazuje, jak połączyć się ze skrzynką pocztową IMAP i pobrać wiadomości, które w temacie zawierają ciąg "Newsletter" i zostały wysłane dzisiaj.
Filtrowanie wiadomości wg kryteriów
Powyższe przykłady kodu filtrują wiadomości na podstawie tematu e‑maila i daty. Możemy również filtrować według innych właściwości. Poniżej znajdują się przykłady ustalania warunków przy użyciu MailQuery.
Kryterium filtru: dzisiejsza data
Poniższy fragment kodu pokazuje, jak filtrować wszystkie e-maile na podstawie dzisiejszej daty.
Kryterium filtru: zakres dat
Poniższy fragment kodu pokazuje, jak filtrować wszystkie e‑maile na podstawie zakresu dat.
Kryterium filtru: konkretny nadawca
Poniższy fragment kodu pokazuje, jak filtrować wszystkie e‑maile na podstawie konkretnego nadawcy.
Kryterium filtru: konkretna domena
Poniższy fragment kodu pokazuje, jak filtrować wszystkie e‑maile na podstawie konkretnej domeny.
Kryterium filtru: konkretny odbiorca
Poniższy fragment kodu pokazuje, jak filtrować wszystkie e‑maile na podstawie określonego odbiorcy.
Kryterium filtru: MessageID
Poniższy fragment kodu pokazuje, jak filtrować wszystkie e‑maile na podstawie MessageID.
Kryterium filtru: Wszystkie powiadomienia o dostawie poczty
Poniższy fragment kodu pokazuje, jak filtrować wszystkie e‑maile na podstawie powiadomień o dostawie poczty.
Budowanie złożonych zapytań
Jeśli różne ExchangeQueryBuilder właściwości są ustawiane w osobnym wyrażeniu, wszystkie warunki są spełnione. Na przykład, aby uzyskać wiadomość w określonym przedziale dat i od konkretnego hosta, napisz trzy instrukcje:
Łączenie zapytań przy użyciu AND
Poniższy fragment kodu pokazuje, jak łączyć zapytania za pomocą AND.
Łączenie zapytań przy użyciu OR
ExchangeQueryBuilder udostępnia Or() metoda przyjmująca dwa MailQueryinstancje jako parametry. Pobiera wiadomości pasujące do dowolnego z dwóch określonych warunków. Poniższy przykład filtruje wiadomości, które mają w temacie słowo „test” lub nadawcą jest „noreply@host.com”. Poniższy fragment kodu pokazuje, jak łączyć zapytania za pomocą OR.
Filtrowanie e‑maili z rozróżnieniem wielkości liter
E‑maile mogą być filtrowane z uwzględnieniem wielkości liter poprzez określenie flagi IgnoreCase w kryteriach filtrowania, jak pokazano w poniższym fragmencie kodu.