Filtrar mensagens da caixa de correio Exchange usando WebDav
Filtrando mensagens usando WebDav
O ExchangeClient classe fornece o ListMessages() método que obtém todas as mensagens de uma caixa de correio. Para obter apenas mensagens que correspondam a alguma condição, use o sobrecarregado ListMessages() método que recebe o MailQuery classe como argumento. O MailQuery classe fornece várias propriedades para especificar condições, por exemplo, data, assunto, remetente e destinatário. Além disso, a API também permite aplicar filtros sensíveis a maiúsculas/minúsculas ao recuperar e‑mails da caixa de correio.
Filtrando Mensagens
Para obter mensagens filtradas de uma caixa de correio:
- Conectar ao servidor Exchange.
- Crie uma instância de MailQuery e definir as propriedades desejadas.
- Chame o ExchangeClient.ListMessages() método e passar o MailQuery nos parâmetros para obter apenas as mensagens filtradas.
O trecho de código a seguir mostra como conectar a uma caixa de correio IMAP e obter mensagens que têm a string "Newsletter" no assunto e foram enviadas hoje.
Filtrar mensagens por critério
Os exemplos de código acima filtram mensagens com base no assunto e na data do e‑mail. Podemos filtrar também por outras propriedades. Abaixo estão alguns exemplos de definição das condições usando MailQuery.
Critério de filtro Data de hoje
O trecho de código a seguir mostra como filtrar todos os e‑mails com base na data de hoje.
Critério de filtro: Intervalo de datas
O trecho de código a seguir mostra como filtrar todos os e‑mails com base no intervalo de datas.
Critério de filtro: Remetente específico
O trecho de código a seguir mostra como filtrar todos os e‑mails com base em um remetente específico.
Critério de filtro: Domínio específico
O trecho de código a seguir mostra como filtrar todos os e‑mails com base em um domínio específico.
Critério de filtro: Destinatário específico
O trecho de código a seguir mostra como filtrar todos os e‑mails com base em um destinatário específico.
Critério de filtro por MessageID
O trecho de código a seguir mostra como filtrar todos os e‑mails com base no MessageID.
Critério de filtro: Todas as notificações de entrega de correio
O trecho de código a seguir mostra como filtrar todos os e‑mails com base em todas as notificações de entrega de correio.
Construindo consultas complexas
Se diferentes ExchangeQueryBuilder as propriedades são definidas em uma instrução separada, todas as condições são atendidas. Por exemplo, para obter uma mensagem em um intervalo de datas específico e de um host específico, escreva três instruções:
Combinando consultas com AND
O trecho de código a seguir mostra como combinar consultas com AND.
Combinando consultas com OR
ExchangeQueryBuilder fornece o Or() método que aceita dois MailQueryinstâncias como parâmetros. Ele obtém mensagens que correspondem a qualquer uma das duas condições especificadas. O exemplo abaixo filtra mensagens que têm a palavra “test” no assunto ou “noreply@host.com” como remetente. O trecho de código a seguir mostra como combinar consultas com OR.
Filtragem de e‑mail sensível a maiúsculas/minúsculas
Emails podem ser filtrados com base em distinção de maiúsculas/minúsculas especificando o sinalizador IgnoreCase nos critérios de filtro, como mostrado no trecho de código a seguir.