استخراج محتويات الرسائل من البريد الإلكتروني

عرض معلومات البريد الإلكتروني على الشاشة

الـ MailMessage تمثل رسالة بريد إلكتروني وتسمح للمطورين بالوصول إلى خصائص رسالة البريد. معلومات الرأس (المناقشة في استخراج رؤوس البريد الإلكترونييمكن استخراجها ومعالجتها بطرق مختلفة. توضح هذه المقالة كيفية عرض معلومات رأس البريد الإلكتروني المختارة وجسم البريد على الشاشة.

  1. أنشئ مثيلًا من MailMessage.
  2. حمّل رسالة بريد إلكتروني إلى مثيل MailMessage.
  3. عرض محتوى البريد الإلكتروني على الشاشة.

يظهر الكود أدناه كيفية تحميل رسالة بريد إلكتروني وعرض محتوياتها - من، إلى، الموضوع وجسم البريد - على الشاشة.

الحصول على تاريخ ووقت الرسالة

الـ MailMessage يمكن استخدام الفئة لاسترجاع تاريخ الرسالة بتوقيت UTC أو التوقيت المحلي. يمكن تلخيص هذه المعلومات كما يلي:

  1. MailMessage.getDate() - تُعيد التاريخ بتوقيت UTC
  2. MailMessage.getLocalDate() - يرجع التاريخ في المنطقة الزمنية المحلية
  3. MailMessage.isLocalDate يرجع true إذا كان MailMessage.getDate() في المنطقة الزمنية المحلية

استخراج رؤوس البريد الإلكتروني

يمثل رأس البريد الإلكتروني مجموعة معايير موحدة للحقول الرأسية المحددة في الإنترنت وRFC مضمنة في رسائل البريد الإلكتروني على الإنترنت. يمكن تحديد رأس البريد باستخدام MailMessage الفئة. تُعَرَّف أنواع الرؤوس الشائعة في الـ HeaderType فئة. هي فئة مختومة تعمل مثل التعداد العادي.

لاستخراج الرؤوس من بريد إلكتروني، اتبع الخطوات التالية:

  1. أنشئ مثيلًا من فئة MailMessage.
  2. حمّل رسالة بريد إلكتروني في مثيل فئة MailMessage.
  3. بعد تحميل رسالة بريد إلكتروني، سنحصل على محتواها الخام. تحتوي فئة MailMessage نفسها على خصائص مثل From و To و Cc و Subject وغيرها. يمكن استخراج هذه الخصائص من الرؤوس.
  4. عرض المحتوى الخام.

الحصول على قيم الترويسة المفكوكة

الحصول على وتعديل ترويسة توزيع المورد المربوط

يمكن الوصول إلى المورد المرفق وتعديله برمجياً في كائن رسالة البريد الإلكتروني. الـ getContentDisposition() طريقة الـ LinkedResource الفئة تحصل على ترويسة Content-Disposition. يوضح مثال الشيفرة أدناه كيفية الوصول إلى اسم الملف للموارد المرفقة وتعديله:

MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");

الحصول على جسم HTML كنص عادي

الـ MailMessage الفئة توفر إمكانية استخراج جسم الـ HTML للرسالة كنص عادي. فئة MailMessage تقدم GetHtmlBodyText طريقة تُعيد جسم الـ HTML كنص عادي. طريقة GetHtmlBodyText تقبل مُعامِلًا بوليًا يُحدد ما إذا كان الجسم يجب أن يحتوي على عناوين URL أم لا. تمرير القيمة true يعني أن جسم الـ HTML يجب أن يحتوي على عناوين URL.

المقتطف التالي من الشيفرة يوضح استخدام طريقة GetHtmlBodyText لاستخراج جسم البريد الإلكتروني بصيغة HTML كنص عادي.

استرجاع عناوين X.500 Exchange من الرسائل البريدية

يتيح Aspose.Email for Java الوصول إلى عناوين X.500 Exchange مباشرةً عبر MailAddress الفئة. مع الـ X500Address خاصية، يمكنك استرجاع عنوان البريد الإلكتروني بصيغة Exchange X.500 عندما يتوفر. يوضح المثال التالي كيفية تحميل رسالة بريد إلكتروني والحصول على عنوان X.500 للمرسل:

MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();

إذا كان عنوان X.500 موجودًا، سيُعاد كسلسلة نصية ويمكن استخدامه لمزيد من المعالجة أو السجلات في التطبيقات التي تتفاعل مع أنظمة Exchange.

استخراج وربط الصور المرتبطة كمرفقات في رسائل HTML

Aspose.Email ExtractHTMLBodyResourcesAsAttachments طريقة الـ HtmlSaveOption الفئة تحدد ما إذا كان يجب استخراج موارد جسم الـ HTML كمرفقات. بذلك، يمكنك استخراج المحتوى المرتبط بالصور من جسم الـ HTML وإدراجه كمرفق في رسالة MIME. يتم الحفاظ على الصور المرتبطة وربطها بشكل صحيح بالبريد الإلكتروني، مما يحسن من سلامة المحتوى وإتاحته دون اتصال.

المثال التالي يوضح كيفية تنفيذ هذه المهمة:

MailMessage mailMessage = MailMessage.load("input.eml");
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExtractHTMLBodyResourcesAsAttachments(true);
options.setResourceHtmlRenderingHandler(new ResourceHtmlRenderingHandler() {
    public void invoke(final Object sender, final ResourceHtmlRenderingEventArgs e) {
        System.out.println(e.getPathToResourceFile() + " " + ((Attachment)sender).getContentId());
    }
});