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

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

قراءة رسالة مع مرفق TNEF

يُظهر المقتطف البرمجي التالي كيفية قراءة رسالة مع الحفاظ على مرفقات TNEF.

قراءة رسالة بدون مرفق TNEF

يُظهر المقتطف البرمجي التالي كيفية قراءة رسالة دون الحفاظ على مرفقات TNEF.

تحميل وحفظ مرفقات TNEF

مع Aspose.Email لـ .NET، يمكنك تحميل مرفقات TNEF مباشرةً إلى MapiAttachment كائن باستخدام مسار ملف أو دفق، ثم حفظ الكائن بصيغة TNEF. يتيح ذلك إنشاء ملفات winmail.dat أو الحفاظ على تنسيق Outlook الخاص في سير عمل البريد الإلكتروني.

توفر API الأعضاء التالية في الـ MapiAttachment فئة:

تحميل مرفقات TNEF

حفظ مرفقات TNEF

يوضح عينة الشيفرة أدناه كيفية استخراج مرفق winmail.dat من رسالة بريد إلكتروني، وحفظه، ثم إعادة إضافته كمرفق إلى الرسالة:

// message.eml contains a winmail.dat attachment, but by default, the attachment is not preserved.
var msg = MapiMessage.Load("message.eml");

var ms = new MemoryStream();
msg.Attachments[0].SaveToTnef("winmail.dat");

ms.Position = 0;
var fromtnefAttachment = MapiAttachment.LoadFromTnef(ms);
msg.Attachments.Add(fromtnefAttachment);

fromtnefAttachment = MapiAttachment.LoadFromTnef("winmail.dat");
msg.Attachments.Add(fromtnefAttachment);

تحديث الموارد في مرفق TNEF

يُظهر المقتطف البرمجي التالي كيفية تحديث الموارد في مرفق TNEF والحفاظ على صيغة TNEF.

إضافة مرفق إلى رسالة TNEF

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

إنشاء TNEF EML من MSG

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

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

تحديد رسائل بصيغة TNEF

يُظهر المقتطف البرمجي التالي كيفية الكشف إذا ما كانت الرسالة بصيغة TNEF.

تحديد مرفقات بصيغة TNEF

الـ Attachment.IsTnef تتيح الخاصية الكشف عما إذا كان مرفق الرسالة مهيأ بصيغة TNEF.

var eml = MailMessage.Load(fileName);

foreach (attachment in eml.Attachments)
{
    Console.WriteLine($"Is Attachment TNEF?: {attachment.IsTnef}");
}