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:
ExchangeAdvancedSyntaxQueryBuilder
, que representa el generador de expresiones de búsqueda basadas en la sintaxis de consulta avanzada (AQS). OExchangeAdvancedSyntaxMailQuery
, que crea una cadena AQS directamente basada en las palabras clave admitidas.
Crear una consulta de búsqueda mediante el generador de consultas
Para crear una consulta de búsqueda con ExchangeAdvancedSyntaxQueryBuilder necesitas:
-
crear una instancia de IEWSClient using GetEWSClient method
-
crear una instancia de ExchangeAdvancedSyntaxQueryBuilder y defina las propiedades necesarias para crear una consulta.
-
call ListMessages or ListItems método y pase MailQuery instancia, devuelta por GetQuery método, como uno de sus parámetros.
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:
-
crear una instancia de IEWSClient using GetEWSClient method
-
crear una instancia de ExchangeAdvancedSyntaxMailQuery y pase una cadena de AQS. Consulte el descripción de la sintaxis.
-
call ListMessages or ListItems método y pase ExchangeAdvancedSyntaxMailQuery instancia como uno de sus parámetros.
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);
}