Конвертація EML та MIME
Конвертація EML та MIME
Aspose.Email FOSS for .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‑тіло
- Ім’я відправника та електронна адреса
- Усі отримувачі (To, Cc, Bcc)
- Прикріплені файли з ім’ям, MIME‑типом та вмістом
- Internet 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Дивіться також
- Читання MSG‑файлів — Завантаження та перегляд MSG‑файлів
- Функції — Повна довідка по функціям
- Властивості MAPI — Низькорівневий доступ до властивостей