Einführung

Aspose.Email FOSS for .NET is a free, open-source C# library that lets you work with Outlook MSG-Dateien, Compound File Binary (CFB) -Container und EML-Nachrichten direkt in Ihrem .NET. Anwendung keine Microsoft Outlook, kein COM-Interop und keine nativen Bibliotheken erforderlich. Verteilen Es ist ein einzelnes NuGet-Paket und es läuft identisch auf Windows, Linux, macOS, Docker Containern., und serverlosen Funktionen.

Die Bibliothek löst ein wiederkehrendes Problem in der Unternehmens- und Integrationsarbeit: Outlook. .msg Dateien werden von Millionen Geschäftsnutzern erzeugt, aber das Parsen ohne Outlook hat historisch COM erfordert Automatisierung oder teure kommerzielle Bibliotheken. Aspose.E-Mail FOSS für .NET bietet die Vollständige Lese-/Schreibunterstützung für MSG, den zugrunde liegenden CFB-Binärcontainer und das EML/MIME-Format Alles unter der MIT-Lizenz ohne Einschränkungen.

Ob Sie eine E-Mail Archiv Pipeline bauen, ein Migrationswerkzeug, einen Anhängerauszug, oder ein automatisierter MSG-Generator, diese Bibliothek gibt Ihnen direkten, niedriges Niveau Zugang zu jedem Bytes von Das E-Mail Format neben einem hochrangigen MapiMessage API, mit der man in Minuten anfangen kann.


Hauptmerkmale

Outlook MSG-Dateien lesen

Öffnen Sie jede . .msg Datei aus einem Pfad oder Stream mit MsgReader.FromFile() oder MsgReader.FromStream(). Zugriff auf den kompletten MAPI-Eigenschaftsstrom, Empfängerdatensätze und Anlagenunterlagerungen am Roh-Byte-Ebene über MsgStorage und . MsgStream.

using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");

var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

MSG-Dateien von Grund auf erstellen

Erstellen Sie eine komplette E-Mail programmatisch mit Hilfe von MapiMessage.Create().Setzen Sie das Thema, einfacher Text. Körper, HTML-Body, Absendername, E-Mail-Adresse des Absenders, Lieferzeit und Internetnachrichtenausweis dann Zusatz von Empfängern mit: AddRecipient() und Anhänge mit: AddAttachment().Serialisierung mit: message.Save().

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

Umwandeln von EML in MSG (und zurück)

Lade eine Standard-RFC 5322 ein .eml Einzug in eine MapiMessage mit: MapiMessage.LoadFromEml(), dann als Outlook speichern .msg oder den Prozess umkehren mit MapiMessage.SaveToEml(). Der eingebaute MIME-Parser bewahrt Subjekt, Körper, HTML-Körper, Absender, Empfänger und Anhänge. Durch volle EML MSG-Rundfahrten.

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

CFB-Containerzugriff auf niedrigem Niveau

Outlook MSG-Dateien sind im Compound File Binary (CFB) -Format aufgebaut eine hierarchische Binärdatei Container ähnlich einem Dateisystem. CfbReader zeigt den gesamten Verzeichnisbaum: Iterate Storages und Ströme mit IterStorages(), IterStreams(), und IterChildren(), navigieren zu spezifischen Einträge nach Pfad mit ResolvePath(), und lesen Sie Rohstrom-Bytes mit GetStreamData().

CfbWriter Sie können ein CFB-Dokument von Grund auf erstellen und serialisieren. CfbDocument, Befestigen CfbStorage und CfbStream Knoten und Anrufe. CfbWriter.ToBytes() oder CfbWriter.WriteFile() - Um sie zu serialisieren.

MAPI-Eigenschaften und Zugriff auf Anlagen

Die MapiPropertyCollection Klasse bietet typisierten MAPI-Eigenschaftszugriff für MSG oder Speicher Gegenstand: Verwendung Get(), Set(), Add(),und . Remove() mit Standard CommonMessagePropertyId oder PropertyTypeCode Zugriff auf Anlage-Metadaten und binäre Daten über MapiAttachment Eigenschaften: Filename, MimeType, ContentId,und . Data.


Schneller Start

Installieren Sie das Paket:

dotnet add package Aspose.Email.FOSS

Lesen Sie ein Thema aus einer MSG-Datei:

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

using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
foreach (var recipient in message.Recipients)
    Console.WriteLine($"To: {recipient.EmailAddress}");
foreach (var attachment in message.Attachments)
    Console.WriteLine($"Attachment: {attachment.Filename} ({attachment.MimeType})");

Unterstützte Formate

Format der DatenbankErweiterungLesen Sie .Schreiben .
Binäre Datei mit Kompound-Dateien.cfb
Outlook-Nachricht.msg
MIME / EML.eml

Open Source und Lizenzierung

Aspose.Email FOSS for .NET is released under the MIT-Lizenz.Sie können es frei in der Die Quellcode ist das Original des Originals, der von den Autoren veröffentlicht wurde. verfügbar unter: Die Datenbank ist in der Regel nicht verfügbar..


Wie man anfängt