Aspose.Email FOSS für .NET ist eine MIT-lizenzierte, abhängigkeitfreie C# Bibliothek zum Arbeiten mit Microsoft Outlook .msg Dateien, Compound File Binary (CFB) Containern und EML-Nachrichten. Fügen Sie ein einziges NuGet Paket hinzu und beginnen Sie sofort mit dem Lesen, Erstellen und Verarbeiten von E‑Mail‑Nachrichten, ohne Microsoft Outlook oder eine proprietäre Laufzeit zu installieren.
Die Bibliothek bietet zwei Zugriffsebenen. Auf niedriger Ebene geben CfbReader und CfbWriter vollständige Kontrolle über CFB‑Binärcontainer — Verzeichniseinträge durchlaufen, Speicherknoten und Stream‑Daten lesen und schreiben sowie das rohe Sektor‑Layout inspizieren. MsgReader und MsgWriter verarbeiten das MSG‑Format auf CFB‑Basis, indem sie MAPI‑Eigenschafts‑Streams, Empfängertabellen und Anhang‑Unter‑Speicher offenlegen. Auf hoher Ebene ermöglicht MapiMessage das Erstellen neuer Nachrichten von Grund auf, das Lesen von Betreff, Body, Absender und Empfängern, das Verwalten von Anhängen und die Konvertierung zwischen MSG‑ und EML‑Format über eine integrierte MIME‑Implementierung.
Die Bibliothek zielt auf .NET 8.0 oder höher ab und hat keine nativen Abhängigkeiten, wodurch sie für Windows, Linux, macOS, Docker‑Container und serverlose Funktionen geeignet ist. Für zusätzliche Funktionen und kommerziellen Support siehe Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream() oder new CfbReader(data).IterStorages(), IterStreams(), IterChildren() und IterTree().ResolvePath(names), um einen bestimmten Stream anhand einer Namenskette zu finden.CfbDocument und serialisieren Sie sie zu Bytes oder Datei über CfbWriter.ToBytes() oder CfbWriter.WriteFile().CfbStorage und CfbStream Knoten zu einem beliebigen Storage-Knoten vor der Serialisierung hinzu..msg Dateien direkter CF B-Zugriff ermöglicht die forensische Inspektion und Reparatur.MsgReader.FromFile() oder MsgReader.FromStream() und greifen Sie auf die zugrunde liegenden MAPI-Eigenschaftsströme, Empfängerverzeichnisse und Anhänge zu.MsgDocument mit MsgWriter.ToBytes() oder MsgWriter.WriteFile() erstellen.MsgStorage, MsgStream und MsgStorage.FindStream().MsgStorage.FindStream() und MsgStorage.FindStorage(), um benannte Unterangaben zu finden..msg Dateien aus Archivverzeichnissen und Extraktion von Metadaten oder Anhängen..msg Dateien programmatisch erstellen und an Outlook-basierte Mailsysteme übermitteln.MapiMessage.Create(subject, body), setzen Sie SenderName, SenderEmailAddress und HtmlBody.To, Cc und Bcc Empfänger über AddRecipient() mit E‑Mail‑Adresse und Anzeigenamen hinzu.AddAttachment() hinzu oder erstellen Sie MapiAttachment-Objekte direkt mit Filename, MimeType, ContentId und Data.message.Save() oder message.Save(stream) und laden Sie mit MapiMessage.FromFile() oder MapiMessage.FromStream() neu.message.Attachments und speichern Sie jedes attachment.Data auf die Festplatte.message.Subject, message.Body, message.SenderEmailAddress und message.Recipients ohne COM‑Automatisierung zu..eml (RFC 5322 / MIME) über MapiMessage.LoadFromEml(stream) zu einem vollständigen MapiMessage-Objekt analysieren.MapiMessage zurück in das MIME-Format mit message.SaveToEml() oder message.SaveToEml(stream)..eml und .msg in einem einzigen Format..eml -Festungen in Tests und überprüfen, ob sie den MSG-Rundgang ohne Datenverlust überleben.Öffnen Sie eine Outlook-MSG-Datei aus einem Stream und drucken Sie das Thema kein Microsoft Outlook erforderlich.
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Erstellen Sie eine komplette E-Mail mit Absender, Empfänger und Anhang, dann schreiben Sie es in eine MSG-Datei.
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Hello", "Body");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
using var attachmentStream = new MemoryStream("abc"u8.ToArray());
message.AddAttachment("note.txt", attachmentStream, "text/plain");
using var output = File.Create("hello.msg");
message.Save(output);
Laden Sie eine Standarddatei .eml und speichern Sie sie als Outlook-Datei .msg mit dem integrierten MIME-Parser.
using System.IO;
using Aspose.Email.Foss.Msg;
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
using var msgOutput = File.Create("message.msg");
message.Save(msgOutput);
using var emlOutput = File.Create("roundtrip.eml");
message.SaveToEml(emlOutput);