Berichten filteren vanuit Exchange‑mailbox met WebDav

Berichten filteren met WebDav

De ExchangeClient class biedt de ListMessages() methode die alle berichten uit een postbus haalt. Gebruik de overladen ListMessages() methode die de MailQuery klasse als argument. De MailQuery klasse biedt diverse eigenschappen om voorwaarden op te geven, bijvoorbeeld datum, onderwerp, afzender en ontvanger. Bovendien staat de API toe om hoofdlettergevoelige filters toe te passen bij het ophalen van e‑mails uit de mailbox.

Berichten filteren

Om gefilterde berichten uit een mailbox te krijgen:

  1. Verbinden met de Exchange‑server.
  2. Maak een instantie van MailQuery en stel de gewenste eigenschappen in.
  3. Roep de ExchangeClient.ListMessages() methode en geef de MailQuery in de parameters om alleen de gefilterde berichten te krijgen.

Het volgende codefragment toont hoe u verbinding kunt maken met een IMAP‑postbus en berichten kunt ophalen waarvan het onderwerp de tekenreeks "Newsletter" bevat en die vandaag zijn verzonden.

Berichten filteren op criteria

De bovenstaande codevoorbeelden filteren berichten op basis van het e-mailonderwerp en de datum. We kunnen ook op andere eigenschappen filteren. Hieronder staan enkele voorbeelden van het instellen van de voorwaarden met behulp van MailQuery.

Filtercriterium Huidige datum

Het volgende codefragment toont hoe u alle e‑mails kunt filteren op basis van de datum van vandaag.

Filtercriteria datumbereik

De volgende codefragment toont hoe alle e-mails te filteren op basis van het datumbereik.

Filtercriteria specifieke afzender

De volgende codefragment toont hoe alle e-mails te filteren op basis van een specifieke afzender.

Filtercriteria specifiek domein

De volgende codefragment toont hoe alle e-mails te filteren op basis van een specifiek domein.

Filtercriteria specifieke ontvanger

De volgende codefragment toont hoe alle e-mails te filteren op basis van een specifieke ontvanger.

Filtercriteria op MessageID

De volgende codefragment toont hoe alle e-mails te filteren op basis van MessageID.

Filtercriteria alle bezorgnotificaties

De volgende codefragment toont hoe alle e-mails te filteren op basis van alle bezorgnotificaties.

Complexe queries bouwen

Als verschillend ExchangeQueryBuilder eigenschappen worden in een aparte verklaring ingesteld; alle voorwaarden komen overeen. Bijvoorbeeld, om een bericht te verkrijgen binnen een bepaald datumbereik en van een specifieke host, schrijft u drie statements:

Queries combineren met AND

Het volgende codefragment toont hoe u queries combineert met AND.

Queries combineren met OR

ExchangeQueryBuilder biedt de Or() methode die twee MailQueryinstantie‑parameters. Het haalt berichten op die voldoen aan een van de twee opgegeven voorwaarden. Het voorbeeld hieronder filtert berichten die ofwel het woord “test” in het onderwerp hebben of “noreply@host.com” als afzender. Het volgende codefragment toont hoe je queries kunt combineren met OR.

Hoofdlettergevoelige e-mailfiltering

E‑mails kunnen gefilterd worden op hoofdlettergevoeligheid door de IgnoreCase‑vlag op te geven in de filtercriteria, zoals getoond in het volgende codefragment.