Filtrar correos electrónicos del servidor de correo

Filtrar mensajes por remitente, destinatario o fecha

El Pop3Client clase, descrita en Conectar al servidor POP3, proporciona el ListMessages() método que obtiene todos los mensajes de un buzón. Para obtener solo los mensajes que coincidan con alguna condición, use el sobrecargado ListMessages() método que toma MailQuery como argumento. El MailQuery la clase proporciona varias propiedades para especificar las condiciones de la consulta, por ejemplo, fecha, asunto, remitente, destinatario, etc. El MailQueryBuilder la clase se usa para construir la expresión de búsqueda. Primero, se establecen todas las condiciones y restricciones y luego MailQuery se llena con la consulta desarrollada por MailQueryBuilder. El MailQuery objeto de clase es usado por Pop3Client para extraer la información filtrada del servidor. Este artículo muestra cómo filtrar mensajes de correo electrónico de un buzón. El primer ejemplo ilustra cómo filtrar mensajes según la fecha y el asunto. También mostramos cómo filtrar por otros criterios y cómo construir consultas más complejas. Además, muestra la aplicación del filtro de fecha y hora para recuperar correos electrónicos específicos del buzón. Asimismo, muestra cómo aplicar filtrado sensible a mayúsculas y minúsculas.

Filtrar mensajes del buzón

Para filtrar mensajes de un buzón:

  1. Conectar al servidor POP3.
  2. Cree una instancia de MailQuery y establecer las propiedades deseadas.
  3. Llame al Pop3Client.ListMessages(MailQuery query) método y pasar el MailQuery en parámetros para obtener solo los mensajes filtrados.

El siguiente fragmento de código muestra cómo conectar a un buzón POP3 y obtener mensajes que llegaron hoy y tienen la palabra "newsletter" en el asunto.

Recuperar mensajes por criterios específicos

Los ejemplos de código anteriores muestra cómo puede filtrar mensajes según el asunto del correo y la fecha. También podemos usar otras propiedades para establecer otras condiciones compatibles. A continuación se presentan algunos ejemplos de configuración de condiciones usando MailQuery.

Los fragmentos de código que siguen muestran cómo filtrar correos según otros criterios:

  • Buscar correos entregados hoy.
  • Buscar correos recibidos dentro de un rango.
  • Buscar correos de un remitente específico.
  • Buscar correos enviados desde un dominio específico.
  • Buscar correos enviados a un destinatario específico.

Fecha de Hoy

El siguiente fragmento de código muestra cómo encontrar correos entregados hoy.

Rango de Fechas

El siguiente fragmento de código muestra cómo encontrar correos recibidos dentro de un rango.

Remitente Específico

El siguiente fragmento de código muestra cómo encontrar correos de un remitente específico.

Dominio Específico

El siguiente fragmento de código muestra cómo encontrar correos enviados desde un dominio específico.

Destinatario Específico

El siguiente fragmento de código muestra cómo encontrar correos enviados a un destinatario específico.

Construir consultas complejas

Si diferentes MailQueryBuilder las propiedades se establecen en declaraciones separadas, luego todas las condiciones se cumplirán. Por ejemplo, si queremos obtener mensajes entre un rango de fechas y de un host específico, necesitamos escribir tres declaraciones.

Combinar consultas con AND

El siguiente fragmento de código muestra cómo combinar consultas con AND.

Combinar consultas con OR

MailQueryBuilder proporciona el Or() método que toma dos MailQuery instancias como parámetros. Obtiene los mensajes que coinciden con cualquiera de las dos condiciones especificadas. El siguiente fragmento de código muestra cómo filtrar mensajes que tengan “test” en el asunto o "noreply@host.com" como remitente. El siguiente fragmento de código muestra cómo combinar consultas con OR.

Filtros sensibles a mayúsculas y minúsculas

La API también brinda la capacidad de filtrar correos del buzón basándose en criterios sensibles a mayúsculas. Los siguientes métodos permiten buscar correos especificando la bandera de sensibilidad a mayúsculas.

  • Método Aspose.Email.StringComparisonField.Contains(string value, bool ignoreCase)
  • Método Aspose.Email.StringComparisonField.Equals(string value, bool ignoreCase)
  • Método Aspose.Email.StringComparisonField.NotContains(string value, bool ignoreCase)
  • Método Aspose.Email.StringComparisonField.NotEquals(string value, bool ignoreCase)