Filtrar mensajes del buzón de Exchange mediante WebDAV

Filtrado de mensajes mediante WebDAV

The ExchangeClient la clase proporciona la ListMessages() método que obtiene todos los mensajes de un buzón. Para recibir solo los mensajes que cumplen alguna condición, utilice el método sobrecargado ListMessages() método que toma el MailQuery clase como argumento. El MailQuery La clase proporciona varias propiedades para especificar condiciones, por ejemplo, fecha, asunto, remitente y destinatario. Además, la API también permite aplicar filtros que distingan mayúsculas y minúsculas para recuperar correos electrónicos del buzón.

Filtrado de mensajes

Para obtener los mensajes filtrados de un buzón:

  1. Conéctese al servidor Exchange.
  2. Crea una instancia de MailQuery y defina las propiedades deseadas.
  3. Llame al ExchangeClient.ListMessages() método y pase el MailQuery en los parámetros para obtener solo los mensajes filtrados.

El siguiente fragmento de código muestra cómo conectarse a un buzón IMAP y recibir los mensajes que tengan la cadena «Boletín» en el asunto y que se hayan enviado hoy.

Filtrar mensajes según criterios

Los ejemplos de código anteriores filtran los mensajes según el asunto y la fecha del correo electrónico. También podemos filtrar por otras propiedades. A continuación se muestran algunos ejemplos de cómo configurar las condiciones utilizando MailQuery.

Filtrar criterios Fecha de hoy

El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en función de la fecha actual.

Rango de fechas de criterios de filtro

El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en función del intervalo de fechas.

Remitente específico de criterios de filtro

El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en función de un remitente específico.

Dominio específico de criterios de filtrado

El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en función de un dominio específico.

Destinatario específico de criterios de filtrado

El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en función de un destinatario específico.

Filtrar criterios por MessageID

El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en función de MessageID.

Criterios de filtrado Todas las notificaciones de entrega de correo

El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en función de todas las notificaciones de entrega de correo.

Creación de consultas complejas

Si es diferente ExchangeQueryBuilder las propiedades se establecen en una declaración separada, se cumplen todas las condiciones. Por ejemplo, para recibir un mensaje en un intervalo de fechas determinado y de un anfitrión específico, escribe tres afirmaciones:

Combinación de consultas con AND

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

Combinación de consultas con OR

ExchangeQueryBuilder proporciona la Or() método que requiere dos MailQueryinstancias como parámetros. Recibe mensajes que cumplen cualquiera de las dos condiciones especificadas. El ejemplo siguiente filtra los mensajes que tienen la palabra «test» en el asunto o «noreply@host.com» como remitente. En el siguiente fragmento de código, se muestra cómo combinar consultas con OR.

Filtrado de correo electrónico sensible a mayúsculas

Los correos electrónicos se pueden filtrar en función de la distinción entre mayúsculas y minúsculas especificando el indicador IgnoreCase en los criterios de filtro, como se muestra en el siguiente fragmento de código.