Filtrar mensajes con AQS desde el buzón de Exchange

La Sintaxis de Consulta Avanzada (AQS) es la sintaxis de consulta utilizada por Exchange como una alternativa a los filtros de búsqueda para expresar criterios de búsqueda. AQS es una forma más flexible de realizar búsquedas y entregar resultados de búsqueda para todos los campos comúnmente utilizados en los elementos. AQS también es fácil de usar, fácil de entender y rápido de dominar. Utilizar AQS es adecuado para encontrar mensajes por adjuntos y destinatarios.

Crear una consulta de búsqueda con AQS

Puede crear una consulta de búsqueda con AQS mediante:

Crear una consulta de búsqueda utilizando el generador de consultas

Para crear una consulta de búsqueda con ExchangeAdvancedSyntaxQueryBuilder necesita:

El siguiente fragmento de código muestra cómo se pueden lograr los pasos anteriores:

using (var client = EWSClient.GetEWSClient(...))
{
    var advancedBuilder = new ExchangeAdvancedSyntaxQueryBuilder();
    advancedBuilder.From.Equals("Jim Martin");
    advancedBuilder.Subject.Contains("report");
    advancedBuilder.HasAttachment.Equals(true);

    var messages = client.ListMessages(client.MailboxInfo.InboxUri, advancedBuilder.GetQuery());
}

Crear una consulta de búsqueda directamente utilizando AQS:

Para crear una consulta de búsqueda con ExchangeAdvancedSyntaxMailQuery necesita:

El siguiente fragmento de código muestra cómo se pueden lograr los pasos anteriores:

using (var client = EWSClient.GetEWSClient(...))
{
    ExchangeAdvancedSyntaxMailQuery query = new ExchangeAdvancedSyntaxMailQuery("subject:(product AND report)");
    ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query);
}