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 count

Vedi anche

 Italiano