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

تصفية الرسائل باستخدام WebDav

الـ ExchangeClient class يوفر الـ ListMessages() طريقة تسترجع جميع الرسائل من صندوق البريد. للحصول على الرسائل التي تطابق شرطًا ما فقط، استخدم النسخة المحمّلة. ListMessages() طريقة تأخذ الـ MailQuery الفئة كمعامل. الـ MailQuery توفر الفئة خصائص مختلفة لتحديد الشروط، مثل التاريخ، الموضوع، المرسل، والمستلم. بالإضافة إلى ذلك، يسمح API بتطبيق فلاتر حساسة لحالة الأحرف لاسترجاع الرسائل من صندوق البريد.

ترشيح الرسائل

للحصول على رسائل مصفاة من صندوق بريد:

  1. الاتصال بخادم Exchange.
  2. إنشاء نسخة من MailQuery وتعيين الخصائص المطلوبة.
  3. استدعِ الـ ExchangeClient.ListMessages() الطريقة وتمرير الـ MailQuery في المعلمات للحصول على الرسائل المصفاة فقط.

يوضح المقتطف البرمجي التالي كيفية الاتصال بصندوق بريد IMAP والحصول على الرسائل التي تحتوي السلسلة "Newsletter" في الموضوع وتم إرسالها اليوم.

تصفية الرسائل حسب المعايير

عينات الكود أعلاه تصفي الرسائل بناءً على موضوع البريد وتاريخه. يمكننا أيضًا تصفية خصائص أخرى. فيما يلي بعض الأمثلة على ضبط الشروط باستخدام MailQuery.

معايير التصفية تاريخ اليوم

يوضح المقتطف البرمجي التالي كيفية تصفية جميع رسائل البريد الإلكتروني بناءً على تاريخ اليوم.

معيار الفلترة لنطاق التاريخ

توضح قطعة الكود التالية كيفية تصفية جميع الرسائل بناءً على نطاق التاريخ.

معيار الفلترة لمرسل معين

توضح قطعة الكود التالية كيفية تصفية جميع الرسائل بناءً على مرسل محدد.

معيار الفلترة لنطاق معين

توضح قطعة الكود التالية كيفية تصفية جميع الرسائل بناءً على نطاق محدد.

معيار الفلترة لمستلم معين

توضح قطعة الكود التالية كيفية تصفية جميع الرسائل بناءً على مستلم محدد.

معيار الفلترة حسب MessageID

توضح قطعة الكود التالية كيفية تصفية جميع الرسائل بناءً على معرف الرسالة (MessageID).

معيار الفلترة لجميع إشعارات تسليم البريد

توضح قطعة الكود التالية كيفية تصفية جميع الرسائل بناءً على كافة إشعارات تسليم البريد.

إنشاء استعلامات معقدة

إذا كان مختلفًا ExchangeQueryBuilder يتم تعيين الخصائص في بيان منفصل، وتتم مطابقة جميع الشروط. على سبيل المثال، للحصول على رسالة في نطاق تاريخ معين ومن مضيف محدد، اكتب ثلاث بيانات:

دمج الاستعلامات باستخدام AND

يعرض لك مقتطف الشيفرة التالي كيفية دمج الاستعلامات باستخدام AND.

دمج الاستعلامات باستخدام OR

ExchangeQueryBuilder توفر الـ Or() طريقة تأخذ اثنتين MailQueryمثيلات كمعلمات. يحصل على الرسائل التي تطابق أيًا من الشرطين المحددين. يصف المثال أدناه الرسائل التي تحتوي إما على كلمة “test” في الموضوع أو “noreply@host.com” كمرسل. يُظهر مقتطف الشيفرة التالي كيفية دمج الاستعلامات باستخدام OR.

تصفية البريد الإلكتروني بحساسية الأحرف

يمكن تصفية رسائل البريد بناءً على حساسية الأحرف عن طريق تحديد علامة IgnoreCase في معايير التصفية كما هو موضح في مقتطف الشيفرة التالي.