Conversione EML e MIME
Conversione EML e MIME
Aspose.Email FOSS per .NET include un parser e un serializer MIME integrati, così puoi convertire
tra file standard .eml (RFC 5322) e file Outlook .msg senza alcuna dipendenza esterna.
Nessun riferimento System.Net.Mail è necessario.
Carica EML in MapiMessage
LoadFromEml accetta un percorso file, uno stream o un array di byte:
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);Dopo il caricamento, tutti i campi standard sono disponibili:
Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
Console.WriteLine(message.Recipients.Count);
Console.WriteLine(message.Attachments.Count);
Console.WriteLine(message.HtmlBody);Salva MapiMessage come EML
SaveToEml serializza un MapiMessage in formato 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();Conversione EML → MSG
Combina LoadFromEml e Save per una conversione completa da EML a MSG:
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.LoadFromEml("incoming.eml");
message.Save("converted.msg");Conversione da MSG a EML
Carica un MSG esistente e serializzalo come EML:
using var message = MapiMessage.FromFile("original.msg");
message.SaveToEml("exported.eml");Fedeltà del round‑trip
I seguenti campi vengono preservati durante i round‑trip EML → MSG → EML:
- Oggetto, corpo e corpo HTML
- Nome del mittente e indirizzo email
- Tutti i destinatari (A, Cc, Bcc)
- Allegati file con nome file, tipo MIME e contenuto
- Message-ID Internet
- Ora di consegna del messaggio
// 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 countVedi anche
- Lettura di file MSG — Carica e ispeziona i file MSG
- Funzionalità — Riferimento completo delle funzionalità
- Proprietà MAPI — Accesso a proprietà a basso livello