Exchange Mailbox'tan AQS ile Mesajları Filtrele

Gelişmiş Sorgu Sözdizimi (AQS) Exchange tarafından arama ölçütlerini ifade etmek için arama filtrelerine alternatif olarak kullanılan sorgu sözdizimidir. AQS, öğelerdeki yaygın olarak kullanılan tüm alanlar için arama gerçekleştirmek ve arama sonuçlarını sunmak açısından daha esnek bir yöntemdir. AQS ayrıca kullanıcı dostu, anlaşması kolay ve hızlı bir şekilde öğrenilebilir. AQS kullanmak, ekler ve alıcılar üzerinden mesaj bulmak için uygundur.

AQS Arama Sorguları Oluşturma

AQS ile bir arama sorgusu şu şekilde oluşturabilirsiniz:

Sorgu Oluşturucu Kullanımı

Şu ile bir arama sorgusu oluşturmak için ExchangeAdvancedSyntaxQueryBuilder şunları yapmalısınız:

Aşağıdaki kod örneği, yukarıdaki adımların nasıl gerçekleştirileceğini gösterir:

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

Doğrudan AQS Sorguları

Şu ile bir arama sorgusu oluşturmak için ExchangeAdvancedSyntaxMailQuery şunu yapmanız gerekir:

Aşağıdaki kod örneği, yukarıdaki adımların nasıl gerçekleştirileceğini gösterir:

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