Nachrichten aus Exchange‑Postfach mit WebDav filtern

Nachrichtenfilterung mit WebDav

Die ExchangeClient class provides the ListMessages() Methode, die alle Nachrichten aus einem Postfach abruft. Um nur Nachrichten zu erhalten, die einer Bedingung entsprechen, verwenden Sie die überladene ListMessages() Methode, die das MailQuery Klasse als Argument. Die MailQuery Klasse bietet verschiedene Eigenschaften zur Angabe von Bedingungen, z. B. Datum, Betreff, Absender und Empfänger. Zusätzlich ermöglicht die API das Anwenden von Groß‑/Kleinschreibung‑Filtern beim Abrufen von E‑Mails aus dem Postfach.

Nachrichten filtern

Um gefilterte Nachrichten aus einem Postfach zu erhalten:

  1. Stellen Sie eine Verbindung zum Exchange‑Server her.
  2. Erstellen Sie eine Instanz von MailQuery und die gewünschten Eigenschaften setzen.
  3. Rufen Sie die ExchangeClient.ListMessages() Methode und übergeben Sie die MailQuery in den Parametern, um nur die gefilterten Nachrichten zu erhalten.

Das folgende Code‑Snippet zeigt, wie Sie sich mit einem IMAP‑Postfach verbinden und Nachrichten abrufen, die den String "Newsletter" im Betreff enthalten und heute gesendet wurden.

Nachrichten nach Kriterien filtern

Die obigen Codebeispiele filtern Nachrichten anhand des E-Mail-Betreffs und des Datums. Wir können auch nach anderen Eigenschaften filtern. Nachstehend einige Beispiele für das Festlegen von Bedingungen mit MailQuery.

Filterkriterium Heutiges Datum

Das folgende Code‑Snippet zeigt, wie Sie alle E‑Mails anhand des heutigen Datums filtern.

Filterkriterium Datumsbereich

Der folgende Codeabschnitt zeigt, wie Sie alle E-Mails nach dem Datumsbereich filtern.

Filterkriterium Bestimmter Absender

Der folgende Codeabschnitt zeigt, wie Sie alle E-Mails nach einem bestimmten Absender filtern.

Filterkriterium Bestimmte Domain

Der folgende Codeabschnitt zeigt, wie Sie alle E-Mails nach einer bestimmten Domain filtern.

Filterkriterium Bestimmter Empfänger

Der folgende Codeabschnitt zeigt, wie Sie alle E-Mails nach einem bestimmten Empfänger filtern.

Filterkriterium Nach MessageID

Der folgende Codeabschnitt zeigt, wie Sie alle E-Mails nach MessageID filtern.

Filterkriterium Alle Zustellungsbenachrichtigungen

Der folgende Codeabschnitt zeigt, wie Sie alle E-Mails basierend auf allen Zustellungsbenachrichtigungen filtern.

Komplexe Abfragen erstellen

Falls unterschiedlich ExchangeQueryBuilder Eigenschaften werden in einer separaten Anweisung gesetzt, alle Bedingungen werden erfüllt. Beispiel: Um eine Nachricht in einem bestimmten Datumsbereich und von einem bestimmten Host zu erhalten, schreiben Sie drei Anweisungen:

Abfragen mit AND kombinieren

Das folgende Code‑Snippet zeigt, wie man Abfragen mit AND kombiniert.

Abfragen mit OR kombinieren

ExchangeQueryBuilder stellt die Or() Methode, die zwei MailQueryInstanzen als Parameter. Es werden Nachrichten abgerufen, die einer der beiden angegebenen Bedingungen entsprechen. Das nachstehende Beispiel filtert Nachrichten, die entweder das Wort „test“ im Betreff oder „noreply@host.com“ als Absender haben. Das folgende Code‑Snippet zeigt, wie Abfragen mit OR kombiniert werden.

Fallabhängige E-Mail-Filterung

E‑Mails können nach Groß‑/Kleinschreibung gefiltert werden, indem das Flag IgnoreCase in den Filterkriterien angegeben wird, wie im folgenden Code‑Snippet gezeigt.