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:
- Connetti al server Exchange.
- Crea un’istanza di MailQuery e impostare le proprietà desiderate.
- 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.