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

تصفية وفرز الرسائل باستخدام EWS

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

ترشيح الرسائل حسب المعايير

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

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

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

حسب تاريخ اليوم

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

حسب نطاق التاريخ

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

حسب المرسل

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

حسب النطاق

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

حسب المستلم

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

حسب معرف الرسالة

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

حسب إشعارات تسليم البريد

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

حسب حجم الرسالة

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

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

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

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

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

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

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

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

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

فرز الرسائل المصفاة بترتيب تصاعدي/تنازلي

يمكن دعم تصفية البريد الإلكتروني مع فرز الرسائل بترتيب تصاعدي/تنازلي. في هذه الحالة، OrderBy تُستخدم الطريقة لتحديد ترتيب فرز نتائج بحث البريد باستخدام فئة MailQueryBuilder. تسمح لك هذه الطريقة بتعريف معايير الفرز لاستعلام البحث، موضحًا ما إذا كان يجب فرز النتائج تصاعديًا أو تنازليًا بناءً على خاصية معينة.

تقبل الطريقة المعامل ascending، الذي يحدد ترتيب الفرز للخاصية المحددة. إذا كان المعامل ascending صحيحًا (true)، فهذا يعني أن نتائج البحث يجب أن تُرتّب بترتيب تصاعدي. وعلى العكس، إذا كان المعامل ascending غير صحيح (false)، فهذا يعني أن نتائج البحث يجب أن تُرتّب بترتيب تنازلي.

MailQueryBuilder builder = new MailQueryBuilder();
builder.Subject.Contains("Report");
builder.InternalDate.Since(new DateTime(2020, 1, 1));
builder.Subject.OrderBy(true); // sort the subject ascending
builder.InternalDate.OrderBy(false); // sort the date descending

MailQuery query = builder.GetQuery();

// Get list of messages
ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false);

في مقطع الشيفرة أعلاه، تم تطبيق طريقة OrderBy مرتين، مرة للموضوع ومرة لتاريخ الرسائل. نتيجة تنفيذ طريقة ListMessages مع الطلب الممرر، سنحصل على قائمة رسائل تحتوي على الموضوع الذي يتضمن كلمة "Report" والتي تم استلامها في التاريخ المحدد أو بعده. في الوقت نفسه، سيتم فرز النتائج حسب الموضوع بترتيب تصاعدي. هذا يعني أن الرسائل ستُرتّب أبجديًا من A إلى Z حسب موضوعها. كما سيتم فرز النتائج حسب التاريخ بترتيب تنازلي. وهذا يعني أن المشاركات ستُرتّب من الأحدث إلى الأقدم.

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

مع Aspose.Email لـ .NET، يمكن للمستخدمين الاستفادة من القدرات القوية لنسق الاستعلام المتقدم (AQS) لتصفية الرسائل مباشرة من صندوق بريد Exchange. يوفر AQS وسيلة قوية وبديهية لإنشاء استعلامات تستهدف رسائل البريد بدقة بناءً على معايير محددة مثل التاريخ، والمرسل، والموضوع. لمزيد من الرؤى التفصيلية حول دمجه في عمليات تصفية البريد الإلكتروني وعينات الشيفرة الشاملة حول تنفيذ تصفية الرسائل باستخدام AQS مع Aspose.Email لـ .NET، يرجى الرجوع إلى تصفية الرسائل باستخدام AQS من صندوق بريد Exchange المقالة.