ExchangeメールボックスからAQSでメッセージをフィルタリング

高度なクエリ構文 (AQS) AQS は、検索条件を表現するために、検索フィルターの代替として Exchange が使用するクエリ構文です。AQS は、項目の一般的に使用されるすべてのフィールドに対して検索を実行し、検索結果を取得する、より柔軟な方法です。また、AQS はユーザーフレンドリーで、理解しやすく、すぐに習得できます。AQS を使用すると、添付ファイルや受信者でメッセージを検索するのに適しています。

AQS 検索クエリの作成

AQS を使用して検索クエリを作成できます:

クエリビルダーの使用

検索クエリを作成するには ExchangeAdvancedSyntaxQueryBuilder 必要です:

以下のコードサンプルは、上記の手順をどのように実行できるかを示しています:

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

直接AQSクエリ

検索クエリを作成するには ExchangeAdvancedSyntaxMailQuery 必要です:

以下のコードサンプルは、上記の手順をどのように実行できるかを示しています:

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