إدارة متقدمة لرسائل البريد الإلكتروني
تتبع تقدم تحويل المستند
يوفر Aspose.Email إمكانية تتبع تقدم تحويل المستند. لهذا، توفر API SaveOptions.CustomProgressHandler. الذي يمثل الطريقة التي تتعامل مع أحداث التقدم. يتم تمثيل أنواع أحداث التقدم بواسطة ProgressEventType تعداد. الـ ProgressEventType التعداد يحتوي على الأعضاء التالية.
- MimeStructureCreated: يُخبر هذا الحدث بأن هيكل MIME تم إنشاؤه.
- MimePartSaved: يُخبر هذا الحدث بأن حفظ أحد أجزاء MIME انتهى.
- SavedToStream: يُخبر هذا الحدث بأنه تم حفظ جميع أجزاء MIME إلى التدفق.
الكود النموذجي التالي يوضح استخدام SaveOptions.CustomProgressHandler و ProgressEventType تعداد يتتبع تقدم تحويل المستند.
المقطع التالي هو الشيفرة للفئة المخصصة المستخدمة في مثال الشيفرة أعلاه.
عرض الروابط التشعبية بأنماط مخصصة
قد تحتاج في بعض الأحيان إلى إخراج الروابط التشعبية بنمط محدد بناءً على متطلبات تطبيقك. لهذا، يوفر Aspose.Email HyperlinkRenderingCallback. يمكنك تمرير الـ HyperlinkRenderingCallback كمعامل لـ MailMessage.GetHtmlBodyText.
المقتطف البرمجي التالي يوضح لك كيفية استخدام HyperlinkRenderingCallback لإخراج الروابط التشعبية باستخدام نمطك المخصص.
عرض المعلومات بترتيب مخصص في ملفات MHTML
يوفر Aspose.Email MhtSaveOptions.RenderingHeaders خاصية تُعيد قائمة الرؤوس للعرض. يمكنك إضافة الرؤوس باستخدام الـ MhtTemplateName الفئة. يحدد ترتيب إضافة الرؤوس ترتيب عرض المعلومات.
تُقارن الصورة التالية بين المخرجات الثلاث التي تم إنشاؤها بواسطة الشيفرة النموذجية.

يظهر مقطع الشيفرة التالي توضيحًا لاستخدام MhtSaveOptions.RenderingHeaders خاصية لتحديد ترتيب عرض المعلومات في ملفات MHTML الناتجة.
عرض الحضور الاختياري في ملفات MHT
عند العمل بتنسيق MHT، يمكنك عرض أو إخفاء معلومات حول الحضور الاختياري في رأس أحداث التقويم. لتكوين MhtSaveOptions للتعامل مع ملفات MHT، تحتاج إلى فهم كيفية MhtFormatOptions.RenderCalendarEvent و MhtFormatOptions.WriteHeader المعاملات تعمل على تخصيص المخرجات وفقًا لاحتياجاتك، خاصةً عند إدارة عرض الحضور الاختياري.
-
MhtFormatOptions.RenderCalendarEvent: يتحكم هذا المعامل فيما إذا كانت تفاصيل أحداث التقويم تُعرض في ملف MHT. من خلال ضبط هذا الخيار، تضمن تضمين معلومات شاملة عن الحدث، بما في ذلك تفاصيل الحضور، في المخرجات. وهذا ضروري لتوفير توثيق كامل لأحداث التقويم.
-
MhtFormatOptions.WriteHeader: يحدد هذا المعامل ما إذا كانت الرؤوس التي تحتوي على بيانات ميتا مثل الموضوع، التاريخ، ومعلومات المشاركين (بما في ذلك الحضور الاختياري عند تكوينه) تُكتب في ملف MHT. تمكين هذا الخيار يضمن إرفاق معلومات ذات صلة بسياق الرسالة، مما يحسن الفهم.
يعرض مثال الشيفرة أدناه كيفية استخدام ميزة عرض الحضور الاختياري عند حفظ رسالة msg بتنسيق mhtml:
MhtSaveOptions options = new MhtSaveOptions()
{
MhtFormatOptions = MhtFormatOptions.RenderCalendarEvent | MhtFormatOptions.WriteHeader
};
MailMessage eml = MailMessage.Load(fileName);
eml.Save(fileName + ".mhtml", options);
إذا كنت بحاجة إلى استبعاد معلومات حول الحضور الاختياري من ملف MHT، ما عليك سوى مسح قالب التنسيق لـ OptionalAttendees قبل الحفظ:
//if you need to skip OptionalAttendees in mhtml file you can clear format template for OptionalAttendees
options.FormatTemplates[MhtTemplateName.OptionalAttendees] = "";
msg.Save(fileName + "2.mhtml", options);
حفظ جميع الرؤوس في MHTML
الـ MhtSaveOptions.SaveAllHeaders خاصية الـ MhtSaveOptions الفئة تحدد ما إذا كان هناك حاجة لحفظ جميع رؤوس الملف في مخرجات mhtml أم لا. يوضح المقتطف البرمجي التالي كيفية حفظ جميع رؤوس ملف mhtml:
var eml = MailMessage.Load("message.eml");
var sopt = SaveOptions.DefaultMhtml;
sopt.SaveAllHeaders = true;
eml.Save("message.mhtml", sopt);
معالجة الرسائل المرتدة
من الشائع جدًا أن الرسالة المرسلة إلى المستلم قد ترتد لأي سبب مثل عنوان مستلم غير صالح. توفر واجهة برمجة التطبيقات Aspose.Email القدرة على معالجة مثل هذه الرسالة للتحقق ما إذا كانت بريدًا مرتدًا أو رسالة بريد إلكتروني عادية. الـ CheckBounced طريقة الـ MailMessage الفئة تُعيد نتيجة صالحة إذا كانت رسالة البريد إلكتروني بريدًا مرتدًا. تُظهر هذه المقالة استخدام الـ BounceResult فئة توفر القدرة على التحقق مما إذا كانت الرسالة بريدًا مرتدًا. كما تُعطي معلومات تفصيلية عن المستلمين، الإجراء المتخذ وسبب الإخطار. يوضح المقتطف البرمجي التالي كيفية معالجة الرسائل المرتدة.
محلل البريد العشوائي بايزي
توفر Aspose.Email تصفية البريد باستخدام محلل Bayesian للرسائل غير المرغوب فيها. إنها توفر الـ SpamAnalyzer فئة لهذا الغرض. تُظهر هذه المقالة كيفية تدريب المرشح للتمييز بين الرسائل غير المرغوب فيها والبريد العادي بناءً على قاعدة كلمات.
الحصول على المقدمة والخاتمة من رسائل EML
قد تحتوي رسالة بريد إلكتروني على بعض المعلومات المخفية كنص عادي قبل جسم الرسالة (أي المقدمة) أو بعده (أي الخاتمة). عادةً ما تكون معلومات إضافية أو سياق للمتلقي قبل أو بعد قراءة المحتوى الرئيسي للرسالة. يمكنك الحصول على هذه المعلومات باستخدام MailMessage.Preamble أو/و MailMessage.Epilogue الخصائص على التوالي.
المقتطف البرمجي التالي يوضح كيفية الحصول على نصوص المقدمة والخاتمة:
// Gets or sets a preamble text.
public string Preamble
// Gets or sets an epilogue text.
public string Epilogue
تتبع البريد الإلكتروني باستخدام MDN وإيصالات القراءة
توفر Aspose.Email API دعم تتبع البريد الإلكتروني باستخدام إبلاغ تسليم الرسالة (MDN). يتم ذلك بطلب إيصالات القراءة وإنشاء المعلومات المطلوبة. الـ MailMessage.ReadReceiptTo الخاصية تحصل أو تُعيّن عنوان إيصال القراءة. الـ CreateReadReceipt و ReadReceiptRequested تُستخدم الطرق لإنشاء واسترجاع معلومات ما إذا تم طلب إيصالات القراءة. يوضح المقتطف البرمجي التالي كيفية تتبع البريد باستخدام Aspose.Email API.