Filtrer les messages avec AQS depuis la boîte aux lettres Exchange

Syntaxe de requête avancée (AQS) est la syntaxe de requête utilisée par Exchange comme alternative aux filtres de recherche pour exprimer les critères de recherche. AQS est une façon plus flexible d’effectuer des recherches et de fournir des résultats de recherche pour tous les champs couramment utilisés sur les éléments. AQS est également convivial, facile à comprendre et rapide à maîtriser. L’utilisation d’AQS convient pour trouver des messages par pièces jointes et destinataires.

Création de requêtes de recherche AQS

Vous pouvez créer une requête de recherche avec AQS :

Utilisation du générateur de requêtes

Pour créer une requête de recherche avec ExchangeAdvancedSyntaxQueryBuilder vous devez :

L’exemple de code ci-dessous montre comment les étapes ci‑dessus peuvent être réalisées :

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());
}

Requêtes AQS directes

Pour créer une requête de recherche avec ExchangeAdvancedSyntaxMailQuery vous devez :

L’exemple de code ci-dessous montre comment les étapes ci‑dessus peuvent être réalisées :

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