إدارة مرفقات 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
-
static MapiAttachment LoadFromTnef(string fileName) - يحمل مرفق TNEF من ملف .dat.
-
static MapiAttachment LoadFromTnef(Stream stream) - يحمل مرفق TNEF من دفق (مثل MemoryStream أو دفق ملف).
حفظ مرفقات TNEF
-
void SaveToTnef(string filename) - يحفظ MapiAttachment إلى ملف TNEF.
-
void SaveToTnef(Stream stream) - يحفظ MapiAttachment إلى دفق بصيغة 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}");
}