مدیریت پیوست‌های TNEF در پیام‌های ایمیل

TNEF (Transport Neutral Encapsulation Format) قالبی اختصاصی است که توسط Microsoft Outlook برای بسته‌بندی محتوای غنی در پیوست‌ها استفاده می‌شود - که معمولاً به صورت winmail.dat ذخیره می‌شود. API 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

نمونه کد زیر نشان می‌دهد چگونه یک پیوست 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

گاهی MSGهای Outlook شامل اطلاعاتی مانند جدول‌ها و سبک‌های متنی هستند که ممکن است در صورت تبدیل به 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}");
}