ميزات الأداة - MailMessage

تشفير وفك تشفير الرسائل

يوفر Aspose.Email إمكانية تشفير وفك تشفير رسائل البريد الإلكتروني. يوضح هذا الموضوع كيفية تحميل رسالة موجودة أو جديدة وتشفيرها باستخدام MailMessage. الـ encrypt() و decrypt() تُعيد الطرق كائن MailMessage لتطبيق التأثيرات ويجب مراعاته أثناء تشفير/فك تشفير الرسائل. تشمل عملية التشفير وفك التشفير الخطوات التالية:

  1. إنشاء رسالة جديدة أو تحميل رسالة موجودة
  2. تشفير الرسالة باستخدام ملف الشهادة
  3. إرسال الرسالة أو حفظها
  4. فك تشفير الرسالة حسب الحاجة

المقتطف التالي يوضح كيفية تشفير وفك تشفير الرسائل.

التحقق من تشفير الرسالة

Aspose.Email MailMessage الفئة تسمح بفحص ما إذا كانت الرسالة مشفرة أم لا. الـ isEncrypted خاصية MailMessage تسمح بالتحقق من ذلك كما هو موضح في مثال الشيفرة التالي.

تشفير الرسالة باستخدام X509Certificate

يوفر Aspose.Email API للعمل مع الرسائل المشفرة باستخدام X509Certificate:

MailMessage الفئة تتضمن الطرق التالية للعمل مع تشفير الرسائل:

تكوين خيارات الإعداد المحلي لـ Aspose.Email

يمكنك استخدام LocaleOptions فئة تُستخدم في حالة عدم التعرف على الإعداد المحلي الافتراضي وتعيين الأنسب لمكتبة Aspose Email. تقدم الطرق التالية للقيام بالمهمة:

  • getLocale() - يُعيد الإعداد المحلي الافتراضي لـ Aspose.Email.
  • setLocale(Locale locale) و setLocale(String localeName) - تعيين الإعداد المحلي الافتراضي المتعلق بـ Aspose.Email.
  • clear() - يزيل الإعداد المحلي الافتراضي لـ Aspose.Email. سيُستخدم الإعداد المحلي الافتراضي للـ Java.

يوضح المثال التالي كيفية تحميل رسالة بريد من ملف باستخدام إعدادات اللغة المحددة:

final Locale locale = new Locale("en", "DE");
Locale.setDefault(locale);

// set Locale for Aspose Email lib
LocaleOptions.setLocale("en-US");
// or
//LocaleOptions.setLocale(new Locale("en", "US"));

MailMessage.load("document.msg");

يضمن هذا الكود أن التطبيق ومكتبة Aspose.Email يستخدمان الإعدادات المحلية المحددة لمعالجة اللغة والبلد والعادات الثقافية.

رسائل بريد تحتوي على مرفقات TNEF

تنسيق النقل المحايد للتغليف (TNEF) هو تنسيق مرفقات بريد إلكتروني مملوك يستخدمه Microsoft Outlook وMicrosoft Exchange Server. تتيح واجهة Aspose.Email API قراءة رسائل البريد التي تحتوي على مرفقات TNEF وتعديل محتوياتها. يمكن بعد ذلك حفظ البريد كرسالة عادية أو بنفس التنسيق، مع الحفاظ على مرفقات TNEF. توضح هذه المقالة عينات شيفرة مختلفة للعمل مع رسائل تحتوي على مرفقات TNEF.

قراءة رسالة مع الحفاظ على مرفقات TNEF

المقتطف التالي يوضح كيفية قراءة رسالة مع الحفاظ على مرفقات TNEF.

تحديث الموارد في مرفق TNEF والحفاظ على تنسيق TNEF

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

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

إنشاء TNEF EML من MSG

تحتوي ملفات MSG الخاصة بـ Outlook أحيانًا على معلومات مثل الجداول وأنماط النص التي قد تتلف إذا تم تحويلها إلى EML. إنشاء رسائل TNEF من تلك الملفات يسمح بالحفاظ على التنسيق وحتى إرسال تلك الرسائل عبر عملاء البريد مع الحفاظ على التنسيق. 

لإنشاء TNEF، يمكن استخدام الكود النموذجي التالي.

اكتشاف ما إذا كانت الرسالة بتنسيق TNEF

معالجة الرسائل المرتدة

من الشائع جدًا أن الرسالة المرسلة إلى المستلم قد ترتد لأي سبب مثل عنوان مستلم غير صالح. توفر واجهة برمجة التطبيقات Aspose.Email القدرة على معالجة مثل هذه الرسالة للتحقق ما إذا كانت بريدًا مرتدًا أو رسالة بريد إلكتروني عادية. الـ CheckBounced طريقة الـ MailMessage الفئة تُعيد نتيجة صالحة إذا كانت رسالة البريد الإلكتروني بريدًا مرتدًا.

تُظهر هذه المقالة طريقة استخدام BounceResult فئة توفر القدرة على التحقق مما إذا كانت الرسالة بريدًا مرتدًا. كما تُعطي معلومات مفصلة عن المستلمين، الإجراء المتخذ وسبب الإشعار.

تجاهل الاستثناءات

تقدم المكتبة ExceptionManager فئة لتنفيذ القدرة على تجاهل الاستثناءات في وظائف تطبيقك. يوضح مقطع الشيفرة أدناه كيفية تعيين رد اتصال لمعالجة الاستثناءات:

 ExceptionManager.setIgnoreExceptionsHandler( new IgnoreExceptionsCallback() {

   //exception path: {Module}\{Method}\{Action}\{GUID}

   //example: MailMessage\Load\DecodeTnefAttachment\64149867-679e-4645-9af0-d46566cae598

   public boolean invoke(AsposeException ex, String path) {

       //Ignore all exceptions on MailMessage.Load

       return path.equals("MailMessage\\Load");

   }

});

أو استخدم بديلًا:

 ExceptionManager.setIgnoreAll(true);

كما يمكنك تعيين استدعاء رجعي لتسجيل استثناءات التي تم تجاهلها:

ExceptionManager.setIgnoreExceptionsLogHandler( new IgnoreExceptionsLogCallback() {

   public void invoke(String message) {

        System.out.println("=== EXCEPTION IGNORED === " + message);

   }

});

سيتم إبلاغ المستخدم بأن الاستثناء يمكن تجاهله عبر رسالة خطأ. على سبيل المثال:

استثناء في الرسالة:

AsposeArgumentException: properties should not be empty.

إذا كنت تريد تجاهل استثناء والاستمرار، يمكنك استخدام:

ExceptionManager.getIgnoreList().add("MailMessage\\Load\\DecodeTnefAttachment\\64149867-679e-4645-9af0-d46566cae598")

Invalid TNEF Attachment will be interpreted as regular attachment.

محلل البريد العشوائي بايزي

توفر Aspose.Email إمكانية تصفية البريد الإلكتروني باستخدام محلل البريد العشوائي بايز. إنها توفر الـ SpamAnalyzer فئة لهذا الغرض. يُظهر هذا المقال كيفية تدريب الفلتر للتمييز بين البريد المزعج والبريد العادي بناءً على قاعدة بيانات الكلمات.

الحصول على المقدمة والخاتمة من رسائل EML

في تنسيق MIME، المقدمة هي النص الذي يظهر بعد رؤوس البريد وقبل أول حدود multipart. الخاتمة هي النص الذي يظهر بعد آخر حد وقبل نهاية الرسالة. عادةً لا يكون هذا النص مرئيًا للمستخدمين في برامج قراءة البريد، لكن بعض تطبيقات MIME قد تستخدمه لإدراج ملاحظات للمستلمين الذين يقرؤون الرسالة باستخدام برامج غير متوافقة مع MIME.

يُظهر مقطع الشيفرة التالي كيفية الحصول على المقدمة والخاتمة من رسالة EML والتي يمكن تحقيقها باستخدام الأساليب المقابلة لـ MailMessage فئة:

// Gets or sets a preamble text.
public String getPreamble, setPreamble

// Gets or sets an epilogue text.
public String getEpilogue, setEpilogue