تحويل EML و MIME

تحويل EML و MIME

يتضمن Aspose.Email FOSS لـ .NET محلل ومُسلسل MIME مدمجًا، بحيث يمكنك التحويل
بين ملفات .eml القياسية (RFC 5322) وملفات Outlook .msg دون أي تبعيات خارجية.
لا يلزم إشارة إلى System.Net.Mail.


تحميل EML إلى MapiMessage

LoadFromEml يقبل مسار ملف أو تدفق أو مصفوفة بايت:

using System.IO;
using Aspose.Email.Foss.Msg;

// From file path
var message = MapiMessage.LoadFromEml("incoming.eml");

// From stream
using var stream = File.OpenRead("incoming.eml");
var message2 = MapiMessage.LoadFromEml(stream);

// From byte array
var emlBytes = File.ReadAllBytes("incoming.eml");
var message3 = MapiMessage.LoadFromEml(emlBytes);

بعد التحميل، جميع الحقول القياسية متاحة:

Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
Console.WriteLine(message.Recipients.Count);
Console.WriteLine(message.Attachments.Count);
Console.WriteLine(message.HtmlBody);

احفظ MapiMessage كـ EML

SaveToEml يسلسِل MapiMessage إلى تنسيق MIME:

// To file path
message.SaveToEml("output.eml");

// To stream
using var outStream = File.Create("output.eml");
message.SaveToEml(outStream);

// To byte array
byte[] emlData = message.SaveToEml();

تحويل EML → MSG

اجمع LoadFromEml و Save لتحويل كامل من EML إلى MSG:

using System.IO;
using Aspose.Email.Foss.Msg;

var message = MapiMessage.LoadFromEml("incoming.eml");
message.Save("converted.msg");

تحويل MSG → EML

تحميل ملف MSG موجود وتحويله إلى EML:

using var message = MapiMessage.FromFile("original.msg");
message.SaveToEml("exported.eml");

دقة الرحلة ذهابًا وإيابًا

الحقول التالية تُحافظ عليها خلال رحلات EML → MSG → EML المتكررة:

  • الموضوع، النص، ومحتوى HTML
  • اسم المرسل وعنوان البريد الإلكتروني
  • جميع المستلمين (إلى، نسخة، نسخة مخفية)
  • مرفقات الملفات مع اسم الملف، نوع MIME، والمحتوى
  • معرف الرسالة على الإنترنت (Message-ID)
  • وقت تسليم الرسالة
// Verify round-trip
var original = MapiMessage.LoadFromEml("test.eml");
original.Save("test.msg");

using var reloaded = MapiMessage.FromFile("test.msg");
reloaded.SaveToEml("roundtrip.eml");

// Compare: original.eml and roundtrip.eml should have
// matching Subject, From, To, and attachment count

انظر أيضًا

 العربية