Filtrar Mensajes Desde el Buzón de Exchange

La clase IEWSClient proporciona el método ListMessages() que obtiene todos los mensajes de un buzón. Para obtener solo los mensajes que coinciden con alguna condición, utiliza el método sobrecargado ListMessages() que toma la clase MailQuery como argumento. La clase MailQuery proporciona varias propiedades para especificar condiciones, por ejemplo, fecha, asunto, remitente y destinatario.

Filtrando Mensajes

Para obtener mensajes filtrados de un buzón:

  1. Conéctate al servidor de Exchange.
  2. Crea una instancia de MailQuery y establece las propiedades deseadas.
  3. Llama al método IEWSClient->ListMessages y pasa el MailQuery en los parámetros para obtener solo los mensajes filtrados.

El siguiente fragmento de código te muestra cómo obtener mensajes que contienen la cadena “Newsletter” en el asunto y que fueron enviados hoy.

Filtrar Mensajes Basado en Criterios

Los ejemplos de código anteriores filtran mensajes basados en el asunto de correo y la fecha. También podemos filtrar en otras propiedades. A continuación se presentan algunos ejemplos de cómo establecer las condiciones utilizando MailQuery.

Criterios de Filtrado Fecha de Hoy

El siguiente fragmento de código te muestra cómo filtrar correos en base a la fecha de hoy.

Criterios de Filtrado Rango de Fechas

El siguiente fragmento de código te muestra cómo filtrar correos en base a un rango de fechas.

Criterios de Filtrado Remitente Específico

El siguiente fragmento de código te muestra cómo filtrar correos en base a un remitente específico.

Criterios de Filtrado Dominio Específico

El siguiente fragmento de código te muestra cómo filtrar correos en base a un dominio específico.

Criterios de Filtrado Destinatario Específico

El siguiente fragmento de código te muestra cómo filtrar correos en base a un destinatario específico.

Criterios de Filtrado Por MessageID

El siguiente fragmento de código te muestra cómo filtrar correos en base a MessageID.

Criterios de Filtrado Todas las Notificaciones de Entrega de Correo

El siguiente fragmento de código te muestra cómo filtrar correos en base a todas las notificaciones de entrega de correo.

Filtrar por Tamaño de Mensaje

Construyendo Consultas Complejas

Si se establecen diferentes propiedades de MailQueryBuilder en una declaración separada, se cumplen todas las condiciones. Por ejemplo, para obtener un mensaje en un rango de fechas particular y de un host específico, escribe tres declaraciones:

Combinando Consultas con AND

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

Combinando Consultas con OR

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

Filtrado de Correos Sensible a Mayúsculas y Minúsculas

Los correos se pueden filtrar en función de la sensibilidad a mayúsculas y minúsculas al especificar la bandera IgnoreCase en los criterios de filtrado, como se muestra en el siguiente fragmento de código.

Filtrando Mensajes con Soporte de Paginación