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:
- ExchangeAdvancedSyntaxQueryBuilder, Gelişmiş Sorgu Sözdizimi (AQS) temelli arama ifadesi oluşturucusunu temsil eder. veya
- ExchangeAdvancedSyntaxMailQuery, desteklenen anahtar kelimelere dayanarak doğrudan bir AQS dizesi oluşturur.
Sorgu Oluşturucu Kullanımı
Şu ile bir arama sorgusu oluşturmak için ExchangeAdvancedSyntaxQueryBuilder şunları yapmalısınız:
-
örnek oluşturun IEWSClient kullanarak GetEWSClient metod
-
örnek oluşturun ExchangeAdvancedSyntaxQueryBuilder ve bir sorgu oluşturmak için gerekli özellikleri ayarlayın.
-
call ListMessages veya ListItems metod ve ilet MailQuery örnek, şunlar tarafından döndürülür GetQuery metod, parametrelerinden biri olarak.
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:
-
örnek oluşturun IEWSClient kullanarak GetEWSClient metod
-
örnek oluşturun ExchangeAdvancedSyntaxMailQuery ve bir AQS dizesi iletin. Bkz. söz dizimi açıklaması.
-
call ListMessages veya ListItems metod ve ilet ExchangeAdvancedSyntaxMailQuery örnek, parametrelerinden biri olarak.
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);
}