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:
- Stellen Sie eine Verbindung zum Exchange‑Server her.
- Erstellen Sie eine Instanz von MailQuery und die gewünschten Eigenschaften setzen.
- 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.