Filtrar mensajes del buzón Exchange usando WebDav
Filtrado de mensajes usando WebDav
El ExchangeClient class 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 la sobrecarga 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 de sensibilidad a mayúsculas/minúsculas para recuperar correos del buzón.
Filtrado de mensajes
Para obtener mensajes filtrados de un buzón:
- Conéctese al servidor Exchange.
- Cree una instancia de MailQuery y establecer las propiedades deseadas.
- Llame al ExchangeClient.ListMessages() método y pasar el MailQuery en los parámetros para obtener solo los mensajes filtrados.
El siguiente fragmento de código le muestra cómo conectarse a un buzón IMAP y obtener mensajes que tengan la cadena "Newsletter" en el asunto y que fueron enviados 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 presentan algunos ejemplos de configuración de condiciones usando MailQuery.
Criterio de filtro Fecha de hoy
El siguiente fragmento de código le muestra cómo filtrar todos los correos electrónicos en función de la fecha de hoy.
Criterio de filtro: Rango de fechas
El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en base al rango de fechas.
Criterio de filtro: Remitente específico
El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en base a un remitente específico.
Criterio de filtro: Dominio específico
El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en base a un dominio específico.
Criterio de filtro: Destinatario específico
El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en base a un destinatario específico.
Criterio de filtro por MessageID
El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en base al MessageID.
Criterio de filtro: Todas las notificaciones de entrega de correo
El siguiente fragmento de código muestra cómo filtrar todos los correos electrónicos en base a todas las notificaciones de entrega de correo.
Construir consultas complejas
Si diferentes ExchangeQueryBuilder las propiedades se establecen en una sentencia separada, todas las condiciones se cumplen. Por ejemplo, para obtener un mensaje en un rango de fechas específico y de un host concreto, escriba tres sentencias:
Combinar consultas con AND
El siguiente fragmento de código muestra cómo combinar consultas con AND.
Combinar consultas con OR
ExchangeQueryBuilder proporciona el Or() método que toma dos MailQueryinstancias 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 muestra cómo combinar consultas con OR.
Filtrado de correo electrónico sensible a mayúsculas
Los correos electrónicos pueden filtrarse según la sensibilidad a mayúsculas especificando la bandera IgnoreCase en los criterios de filtro, como se muestra en el siguiente fragmento de código.