Conversie EML și MIME
Conversie EML și MIME
Aspose.Email FOSS pentru .NET include un parser și un serializer MIME încorporate, astfel încât puteți converti
între fișierele standard .eml (RFC 5322) și fișierele Outlook .msg fără nicio dependență externă.
Nu este necesară nicio referință System.Net.Mail.
Încărcați EML în MapiMessage
LoadFromEml acceptă o cale de fișier, flux sau tablou de octeți:
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);După încărcare, toate câmpurile standard sunt disponibile:
Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
Console.WriteLine(message.Recipients.Count);
Console.WriteLine(message.Attachments.Count);
Console.WriteLine(message.HtmlBody);Salvează MapiMessage ca EML
SaveToEml serializează un MapiMessage în format 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();Conversie EML → MSG
Combinați LoadFromEml și Save pentru o conversie completă EML-în-MSG:
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.LoadFromEml("incoming.eml");
message.Save("converted.msg");Conversie MSG → EML
Încărcați un MSG existent și serializați-l ca EML:
using var message = MapiMessage.FromFile("original.msg");
message.SaveToEml("exported.eml");Fidelitate de tip round-trip
Următoarele câmpuri sunt păstrate în timpul călătoriilor EML → MSG → EML:
- Subiect, corp și corp HTML
- Nume și adresă de e‑mail ale expeditorului
- Toți destinatarii (To, Cc, Bcc)
- Atașamente de fișiere cu numele fișierului, tip MIME și conținut
- Internet Message-ID
- Timpul de livrare a mesajului
// 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 countVezi și
- Reading MSG Files — Încărcați și inspectați fișierele MSG
- Features — Referință completă a funcționalităților
- MAPI Properties — Acces la proprietăți la nivel scăzut