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.FOSSLesen 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 Datenbank | Erweiterung | Lesen 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..