تصفية الرسائل باستخدام AQS من صندوق بريد Exchange

صيغة الاستعلام المتقدمة (AQS) هي صيغة الاستعلام التي يستخدمها Exchange كبديل لمرشحات البحث للتعبير عن معايير البحث. توفر AQS طريقة أكثر مرونة لإجراء عمليات البحث وتقديم نتائج البحث لجميع الحقول الشائعة الاستخدام في العناصر. كما أن AQS سهلة الاستخدام، سهلة الفهم وسريعة الإتقان. يعد استخدام AQS مناسبًا للعثور على الرسائل عبر المرفقات والمتلقين.

إنشاء استعلامات بحث AQS

يمكنك إنشاء استعلام بحث باستخدام AQS عن طريق:

  • ExchangeAdvancedSyntaxQueryBuilder، التي تمثل أداة بناء تعبير البحث بناءً على صياغة الاستعلام المتقدم (AQS). أو
  • ExchangeAdvancedSyntaxMailQuery، التي تُنشئ سلسلة 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);
}