Převod EML a MIME
Konverze EML a MIME
Aspose.Email FOSS pro .NET obsahuje vestavěný parser a serializér MIME, takže můžete převádět mezi standardními soubory .eml (RFC 5322) a soubory Outlook .msg bez jakýchkoli externích závislostí. Není potřeba žádná reference System.Net.Mail.
Načíst EML do MapiMessage
LoadFromEml přijímá cestu k souboru, stream nebo pole bajtů:
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);Po načtení jsou k dispozici všechna standardní pole:
Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
Console.WriteLine(message.Recipients.Count);
Console.WriteLine(message.Attachments.Count);
Console.WriteLine(message.HtmlBody);Uložit MapiMessage jako EML
SaveToEml serializuje MapiMessage do formátu 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();Převod EML → MSG
Kombinujte LoadFromEml a Save pro úplnou konverzi EML na MSG:
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.LoadFromEml("incoming.eml");
message.Save("converted.msg");Konverze MSG → EML
Načtěte existující MSG a serializujte jako EML:
using var message = MapiMessage.FromFile("original.msg");
message.SaveToEml("exported.eml");Fidelity při zpětném převodu
Následující pole jsou zachována při průchodu EML → MSG → EML:
- Předmět, tělo a HTML tělo
- Jméno odesílatele a e‑mailová adresa
- Všichni příjemci (To, Cc, Bcc)
- Přílohy souborů s názvem souboru, MIME typem a obsahem
- Internet Message-ID
- Čas doručení zprávy
// 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 countViz také
- Čtení MSG souborů — Načíst a prozkoumat soubory MSG
- Funkce — Úplná reference funkcí
- MAPI vlastnosti — Nízká úroveň přístupu k vlastnostem