Filtrar E-mails do Servidor de Correio
Filtrar Mensagens por Remetente, Destinatário ou Data
O Pop3Client classe, descrita em Conectar ao Servidor POP3, 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 MailQuery como argumento. O MailQuery classe fornece várias propriedades para especificar as condições da consulta, por exemplo, data, assunto, remetente, destinatário etc. O MailQueryBuilder classe é usada para construir a expressão de busca. Primeiro, todas as condições e restrições são definidas e então MailQuery é preenchido com a consulta desenvolvida por MailQueryBuilder. O MailQuery objeto de classe é usado por Pop3Client para extrair as informações filtradas do servidor. Este artigo mostra como filtrar mensagens de e-mail de uma caixa de correio. O primeiro exemplo ilustra como filtrar mensagens com base na data e no assunto. Também mostramos como filtrar em outros critérios e como construir consultas mais complexas. Ele também demonstra a aplicação do filtro de Data e Hora para recuperar e‑mails específicos da caixa de correio. Além disso, mostra como aplicar filtragem sensível a maiúsculas/minúsculas.
Filtrar Mensagens da Caixa de Correio
Para filtrar mensagens de uma caixa de correio:
- Conectar ao servidor POP3.
- Crie uma instância de MailQuery e definir as propriedades desejadas.
- Chame o Pop3Client.ListMessages(MailQuery query) 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 POP3 e obter mensagens que chegaram hoje e têm a palavra "newsletter" no assunto.
Recuperar Mensagens por Critérios Específicos
Os exemplos de código acima mostra como você pode filtrar mensagens com base no assunto do e‑mail e na data. Também podemos usar outras propriedades para definir outras condições suportadas. Abaixo estão alguns exemplos de definição de condições usando MailQuery.
Os trechos de código a seguir mostram como filtrar e‑mails por outros critérios:
- Encontrar e‑mails entregues hoje.
- Encontrar e‑mails recebidos dentro de um intervalo.
- Encontrar e‑mails de um remetente específico.
- Encontrar e‑mails enviados de um domínio específico.
- Encontrar e‑mails enviados a um destinatário específico.
Data de Hoje
O trecho de código a seguir mostra como encontrar e‑mails entregues hoje.
Intervalo de Datas
O trecho de código a seguir mostra como encontrar e‑mails recebidos dentro de um intervalo.
Remetente Específico
O trecho de código a seguir mostra como encontrar e‑mails de um remetente específico.
Domínio Específico
O trecho de código a seguir mostra como encontrar e‑mails enviados de um domínio específico.
Destinatário Específico
O trecho de código a seguir mostra como encontrar e‑mails enviados a um destinatário específico.
Construir Consultas Complexas
Se diferentes MailQueryBuilder as propriedades são definidas em declarações separadas, então todas as condições seriam atendidas. Por exemplo, se quisermos obter mensagens entre um intervalo de datas e de um host específico, precisamos escrever três declarações.
Combinar consultas com AND
O trecho de código a seguir mostra como combinar consultas com AND.
Combinar consultas com OR
MailQueryBuilder fornece o Or() método que aceita dois MailQuery instâncias como parâmetros. Ele obtém as mensagens que correspondem a qualquer uma das duas condições especificadas. O trecho de código abaixo mostra como filtrar mensagens que tenham “test” no assunto ou "noreply@host.com" como remetente. O trecho de código abaixo mostra como combinar consultas com OR.
Filtros Sensíveis a Maiúsculas/Minúsculas
A API também fornece a capacidade de filtrar e‑mails da caixa de correio com base em um critério sensível a maiúsculas/minúsculas. Os métodos a seguir permitem buscar e‑mails especificando a flag sensível a maiúsculas/minúsculas.
- Method Aspose.Email.StringComparisonField.Contains(string value, bool ignoreCase)
- Method Aspose.Email.StringComparisonField.Equals(string value, bool ignoreCase)
- Method Aspose.Email.StringComparisonField.NotContains(string value, bool ignoreCase)
- Method Aspose.Email.StringComparisonField.NotEquals(string value, bool ignoreCase)