معالجة مرفقات TNEF في رسائل البريد الإلكتروني

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

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

تحديد مرفقات TNEF في البريد الإلكتروني

يوضح مقطع الكود التالي كيفية اكتشاف ما إذا كان البريد يحتوي على مرفقات TNEF:

from aspose.email import MailMessage

mail = MailMessage.load(data_dir + "message.eml")
is_tnef = mail.original_is_tnef

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

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

from aspose.email import MailMessage, SaveOptions, EmlLoadOptions, MessageFormat, FileCompatibilityMode

options = EmlLoadOptions()
# This will Preserve the TNEF attachment as it is, file contains the TNEF attachment
options.preserve_tnef_attachments = True

eml = MailMessage.load(data_dir + "message.eml", options)
for attachment in eml.attachments:
    print(attachment.name)

تحويل MSG إلى TNEF

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

from aspose.email.mapi import MapiMessage, MailConversionOptions, OutlookMessageFormat

mapi_msg = MapiMessage.from_file(data_dir + "message.msg")

mail_conversion_options = MailConversionOptions()
mail_conversion_options.convert_as_tnef = True

message = mapi_msg.to_mail_message(mail_conversion_options)

إنشاء بريد TNEF

يمكن استخدام كود العينة التالي لإنشاء بريد إلكتروني بتنسيق TNEF:

  1. تكوين خيارات الملف باستخدام الـ MsgLoadOptions فئة.
  2. تأكد من أن مرفقات TNEF في البريد تُحافظ عليها عند تحميل الملف عن طريق ضبط options.preserve_tnef_attachments إلى True.
  3. استخدم الـ MailMessage.load(eml_file_name, options) طريقة لتحميل ملف البريد الإلكتروني المدخل مع تطبيق الخيارات التي تم تكوينها مسبقًا. يضمن ذلك بشكل خاص أن البريد المُحمَّل يحتفظ بمعلومات TNEF (مثل المرفقات أو التنسيقات الخاصة بـ Microsoft Outlook).
from aspose.email import MailMessage, SaveOptions, MsgLoadOptions, MessageFormat, FileCompatibilityMode

options = MsgLoadOptions()
# The PreserveTnefAttachments option with MessageFormat.Msg will create the TNEF eml.
options.preserve_tnef_attachments = True

eml = MailMessage.load(eml_file_name, options)

الكشف عن رسائل TNEF

يوضح مقطع الكود التالي كيفية اكتشاف ما إذا كانت الرسالة TNEF. الـ original_is_tnef خاصية الـ MailMessage يتم فحص الكائن لتحديد ما إذا كان البريد أصلاً بتنسيق TNEF (Transport Neutral Encapsulation Format). إذا is_tnef يُقيم إلى True، يعني أن البريد يحتوي على ترميز TNEF، والذي يحدث عادةً في الرسائل الصادرة من Microsoft Outlook أو Exchange.

from aspose.email import MailMessage

mail = MailMessage.load(data_dir + "message.eml")
is_tnef = mail.original_is_tnef