تصفية الرسائل الإلكترونية من خادم البريد

تصفية الرسائل حسب المرسل أو المستلم أو التاريخ

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

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

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

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

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

استرجاع الرسائل وفق معايير محددة

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

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

  • ابحث عن رسائل البريد التي تم تسليمها اليوم.
  • ابحث عن رسائل البريد المستلمة ضمن نطاق.
  • ابحث عن رسائل البريد من مرسل محدد.
  • ابحث عن رسائل البريد المرسلة من نطاق محدد.
  • ابحث عن رسائل البريد المرسلة إلى مستلم محدد.

تاريخ اليوم

يوضح المقتطف البرمجي التالي كيفية العثور على رسائل البريد التي تم تسليمها اليوم.

نطاق تاريخ

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

مرسل محدد

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

نطاق محدد

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

مستلم محدد

يوضح المقتطف البرمجي التالي كيفية العثور على رسائل البريد المرسلة إلى مستلم محدد.

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

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

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

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

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

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

مرشحات حساسة لحالة الأحرف

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

  • Method Aspose.Email.StringComparisonField.Contains(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.Equals(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.NotContains(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.NotEquals(string value, bool ignoreCase)