Filtrar Mensagens da Caixa de Correio do Exchange

A classe IEWSClient fornece o método ListMessages() que obtém todas as mensagens de uma caixa de correio. Para obter apenas mensagens que correspondam a alguma condição, use o método sobrecarregado ListMessages() que recebe a classe MailQuery como argumento. A classe MailQuery fornece várias propriedades para especificar condições, por exemplo, data, assunto, remetente e destinatário.

Filtrando Mensagens

Para obter mensagens filtradas de uma caixa de correio:

  1. Conecte-se ao servidor Exchange.
  2. Crie uma instância de MailQuery e defina as propriedades desejadas.
  3. Chame o método IEWSClient->ListMessages e passe o MailQuery nos parâmetros para obter apenas as mensagens filtradas.

O seguinte trecho de código mostra como obter mensagens que têm a string “Newsletter” no assunto e foram enviadas hoje.

Filtrar Mensagens com Base em Critérios

Os exemplos de código acima filtram mensagens com base no assunto do email e data. Também podemos filtrar por outras propriedades. Abaixo estão alguns exemplos de como definir as condições usando MailQuery.

Critério de Filtragem Data de Hoje

O seguinte trecho de código mostra como filtrar emails com base na data de hoje.

Critério de Filtragem Intervalo de Datas

O seguinte trecho de código mostra como filtrar emails com base em um intervalo de datas.

Critério de Filtragem Remetente Específico

O seguinte trecho de código mostra como filtrar emails com base em um remetente específico.

Critério de Filtragem Domínio Específico

O seguinte trecho de código mostra como filtrar emails com base em um domínio específico.

Critério de Filtragem Destinatário Específico

O seguinte trecho de código mostra como filtrar emails com base em um destinatário específico.

Critério de Filtragem por MessageID

O seguinte trecho de código mostra como filtrar emails com base em MessageID.

Critério de Filtragem Todas as Notificações de Entrega de Email

O seguinte trecho de código mostra como filtrar emails com base em todas as notificações de entrega de email.

Filtrar por Tamanho da Mensagem

Construindo Consultas Complexas

Se diferentes propriedades do MailQueryBuilder forem definidas em uma instrução separada, todas as condições são correspondidas. Por exemplo, para obter uma mensagem em um intervalo de datas particular e de um host específico, escreva três instruções:

Combinando Consultas com E

O seguinte trecho de código mostra como combinar consultas com E.

Combinando Consultas com OU

O MailQueryBuilder fornece o método Or() que aceita duas instâncias de MailQuery 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 seguinte trecho de código mostra como combinar consultas com OU.

Filtragem de Emails Sensível a Maiúsculas e Minúsculas

Os emails podem ser filtrados com base na sensibilidade a maiúsculas e minúsculas especificando a flag IgnoreCase nos critérios de filtragem, como mostrado no seguinte trecho de código.

Filtrando Mensagens com Suporte de Paginação