Конвертиране на 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 тип и съдържание
- 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 свойства — Достъп на ниско ниво до свойства