Filtrar mensajes con AQS desde el buzón de Exchange

Sintaxis de consulta avanzada (AQS) es la sintaxis de consulta que usa Exchange como alternativa a los filtros de búsqueda para expresar los criterios de búsqueda. AQS es una forma más flexible de realizar búsquedas y ofrecer resultados de búsqueda para todos los campos de uso común en los elementos. AQS también es fácil de usar, de entender y de dominar rápidamente. El uso de AQS es adecuado para buscar mensajes por archivos adjuntos y destinatarios.

Crear una consulta de búsqueda con AQS

Puede crear una consulta de búsqueda con AQS de la siguiente manera:

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

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

El ejemplo de código que aparece a continuación muestra cómo se pueden realizar 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());
}

Cree una consulta de búsqueda directamente mediante AQS:

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

El ejemplo de código que aparece a continuación muestra cómo se pueden realizar los pasos anteriores:

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