Filtra i messaggi dalla casella Exchange usando WebDav

Filtrare i messaggi usando WebDav

Il ExchangeClient classe fornisce il ListMessages() metodo che ottiene tutti i messaggi da una casella di posta. Per ottenere solo i messaggi che corrispondono a una certa condizione, usa il sovraccaricato ListMessages() metodo che prende il MailQuery classe come argomento. Il MailQuery la classe fornisce varie proprietà per specificare condizioni, ad esempio data, oggetto, mittente e destinatario. Inoltre, l’API consente di applicare filtri sensibili al maiuscolo/minuscolo per recuperare le email dalla casella.

Filtrare i messaggi

Per ottenere messaggi filtrati da una casella:

  1. Connetti al server Exchange.
  2. Crea un’istanza di MailQuery e impostare le proprietà desiderate.
  3. Chiama il ExchangeClient.ListMessages() metodo e passa il MailQuery nei parametri per ottenere solo i messaggi filtrati.

Il seguente frammento di codice mostra come connettersi a una casella di posta IMAP e ottenere i messaggi che contengono la stringa "Newsletter" nell’oggetto e sono stati inviati oggi.

Filtra messaggi in base a criteri

Gli esempi di codice sopra filtrano i messaggi in base all’oggetto dell’email e alla data. Possiamo filtrare anche altre proprietà. Di seguito alcuni esempi di impostazione delle condizioni usando MailQuery.

Criterio di filtro Data odierna

Il seguente frammento di codice mostra come filtrare tutte le email sulla base della data di oggi.

Criteri di Filtro Intervallo di Date

Il seguente frammento di codice mostra come filtrare tutte le email in base all’intervallo di date.

Criteri di Filtro Mittente Specifico

Il seguente frammento di codice mostra come filtrare tutte le email in base a un mittente specifico.

Criteri di Filtro Dominio Specifico

Il seguente frammento di codice mostra come filtrare tutte le email in base a un dominio specifico.

Criteri di Filtro Destinatario Specifico

Il seguente frammento di codice mostra come filtrare tutte le email in base a un destinatario specifico.

Criteri di Filtro per MessageID

Il seguente frammento di codice mostra come filtrare tutte le email in base al MessageID.

Criteri di Filtro Tutte le Notifiche di Consegna della Mail

Il seguente frammento di codice mostra come filtrare tutte le email in base a tutte le notifiche di consegna della posta.

Costruire Query Complesse

Se diversi ExchangeQueryBuilder le proprietà sono impostate in una dichiarazione separata, tutte le condizioni sono soddisfatte. Ad esempio, per ottenere un messaggio in un intervallo di date specifico e da un host particolare, scrivi tre istruzioni:

Combinare Query con AND

Il seguente frammento di codice mostra come combinare query con AND.

Combinare Query con OR

ExchangeQueryBuilder fornisce il Or() metodo che prende due MailQueryistanze come parametri. Recupera i messaggi che corrispondono a una delle due condizioni specificate. L’esempio seguente filtra i messaggi che hanno la parola “test” nell’oggetto o “noreply@host.com” come mittente. Il seguente frammento di codice mostra come combinare le query con OR.

Filtraggio Email Sensibile al Maiuscolo/Minuscolo

Le email possono essere filtrate in base a maiuscole/minuscole specificando il flag IgnoreCase nei criteri di filtro come mostrato nel seguente frammento di codice.