EML és MIME konverzió

EML és MIME konvertálás

Aspose.Email FOSS for .NET beépített MIME elemző és sorosító funkcióval rendelkezik, így átalakíthatja a szabványos .eml fájlokat (RFC 5322) és az Outlook .msg fájlokat külső függőségek nélkül. Nem szükséges System.Net.Mail hivatkozás.


EML betöltése a MapiMessage-be

LoadFromEml elfogad egy fájl elérési utat, adatfolyamot vagy bájt tömböt:

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);

Betöltés után az összes szabványos mező elérhető:

Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
Console.WriteLine(message.Recipients.Count);
Console.WriteLine(message.Attachments.Count);
Console.WriteLine(message.HtmlBody);

MapiMessage mentése EML‑ként

SaveToEml sorosít egy MapiMessage-t MIME formátumba:

// 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 átalakítás

Kombinálja a LoadFromEml és a Save elemeket egy teljes EML‑to‑MSG átalakításhoz:

using System.IO;
using Aspose.Email.Foss.Msg;

var message = MapiMessage.LoadFromEml("incoming.eml");
message.Save("converted.msg");

MSG → EML konverzió

Töltsön be egy meglévő MSG-t, és sorosítsa EML‑ként:

using var message = MapiMessage.FromFile("original.msg");
message.SaveToEml("exported.eml");

Körutazási pontosság

A következő mezők megmaradnak az EML → MSG → EML körutak során:

  • Tárgy, szöveg és HTML-szöveg
  • Feladó neve és e‑mail címe
  • Minden címzett (To, Cc, Bcc)
  • Fájlcsatolmányok fájlnévvel, MIME-típussal és tartalommal
  • Internet Message-ID
  • Üzenet kézbesítési időpontja
// 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

Lásd még

 Magyar