EML‑ und MIME‑Konvertierung
EML und MIME-Konvertierung
Aspose.Email FOSS for .NET enthält einen integrierten MIME‑Parser und‑Serializer, sodass Sie zwischen Standard .eml‑Dateien (RFC 5322) und Outlook .msg‑Dateien ohne externe Abhängigkeiten konvertieren können. Es wird kein System.Net.Mail‑Verweis benötigt.
EML in MapiMessage laden
LoadFromEml akzeptiert einen Dateipfad, Stream oder Byte‑Array:
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);Nach dem Laden sind alle Standardfelder verfügbar:
Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
Console.WriteLine(message.Recipients.Count);
Console.WriteLine(message.Attachments.Count);
Console.WriteLine(message.HtmlBody);MapiMessage als EML speichern
SaveToEml serialisiert ein MapiMessage in das MIME-Format:
// 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‑Konvertierung
Kombinieren Sie LoadFromEml und Save für eine vollständige EML‑zu‑MSG‑Konvertierung:
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.LoadFromEml("incoming.eml");
message.Save("converted.msg");MSG → EML‑Konvertierung
Laden Sie eine vorhandene MSG und serialisieren Sie sie als EML:
using var message = MapiMessage.FromFile("original.msg");
message.SaveToEml("exported.eml");Rundweg‑Genauigkeit
Die folgenden Felder werden bei EML → MSG → EML Rundläufen beibehalten:
- Betreff, Text und HTML-Textkörper
- Absendername und E‑Mail‑Adresse
- Alle Empfänger (To, Cc, Bcc)
- Dateianhänge mit Dateinamen, MIME‑Typ und Inhalt
- Internet Message‑ID
- Zustellzeit der Nachricht
// 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 countSiehe auch
- Lesen von MSG-Dateien — Laden und MSG-Dateien inspizieren
- Funktionen — Vollständige Funktionsreferenz
- MAPI-Eigenschaften — Niedrigstufiger Zugriff auf Eigenschaften