Inleiding

Aspose.Email FOSS voor .NET is een gratis, open-source C#‑bibliotheek waarmee je kunt werken met Outlook
MSG‑bestanden, Compound File Binary (CFB)-containers en EML‑berichten direct in je .NET
applicatie — geen Microsoft Outlook, geen COM‑interop en geen native bibliotheken vereist. Distribueer
het als één enkel NuGet‑pakket en het draait identiek op Windows, Linux, macOS, Docker‑containers,
en serverless‑functies.

De bibliotheek lost een terugkerend probleem op in enterprise- en integratiewerk: Outlook .msg-bestanden worden geproduceerd door miljoenen zakelijke gebruikers, maar het parseren ervan zonder Outlook heeft historisch gezien COM-automatisering of dure commerciële bibliotheken vereist. Aspose.Email FOSS voor .NET biedt volledige lees-/schrijfsupport voor MSG, de onderliggende CFB-binaire container, en het EML/MIME-formaat — alles onder de MIT-licentie zonder gebruiksbeperkingen.

Of u nu een e‑mailarchiveringspipeline, een migratietool, een bijlage‑extractor, of een geautomatiseerde MSG‑generator bouwt, deze bibliotheek biedt u directe, low‑level toegang tot elke byte van het e‑mailformaat naast een high‑level MapiMessage API die u in enkele minuten op weg helpt.


Belangrijkste kenmerken

Outlook MSG-bestanden lezen

Open elk .msg-bestand vanaf een pad of stream met MsgReader.FromFile() of MsgReader.FromStream().
Toegang tot de volledige MAPI‑eigenschapstroom, ontvangerrecords en bijlage‑sub‑opslag op
ruw byte‑niveau via MsgStorage en 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-bestanden vanaf nul maken

Bouw een volledige e‑mail programmatisch met MapiMessage.Create(). Stel het onderwerp, platte-tekst
body, HTML-body, afzendernaam, afzender e-mailadres, verzendtijd en internetbericht‑ID in, voeg vervolgens
ontvangers toe met AddRecipient() en bijlagen met AddAttachment(). Serialiseer met
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);

Converteer EML naar MSG (en terug)

Laad een standaard RFC 5322 .eml‑bestand in een MapiMessage met MapiMessage.LoadFromEml(),
sla het vervolgens op als een Outlook .msg‑bestand — of keer het proces om met MapiMessage.SaveToEml().
De ingebouwde MIME‑parser behoudt onderwerp, inhoud, HTML‑inhoud, afzender, ontvangers en bijlagen
gedurende volledige EML ↔ MSG round‑trips.

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

Low-Level CFB-containertoegang

Outlook MSG‑bestanden zijn opgebouwd op basis van het Compound File Binary (CFB)‑formaat — een hiërarchische binaire container die lijkt op een bestandssysteem. CfbReader geeft de volledige directoryboom weer: doorloop opslagruimtes en streams met IterStorages(), IterStreams() en IterChildren(), navigeer naar specifieke items via pad met ResolvePath(), en lees ruwe stream‑bytes met GetStreamData().

CfbWriter stelt je in staat om een CFB-document vanaf nul te construeren en te serialiseren. Maak een CfbDocument, voeg CfbStorage en CfbStream knooppunten toe, en roep CfbWriter.ToBytes() of CfbWriter.WriteFile() aan om te serialiseren.

MAPI‑eigenschap en toegang tot bijlagen

De MapiPropertyCollection‑klasse biedt getypeerde MAPI‑eigenschapstoegang voor elk MSG‑ of opslagobject: gebruik Get(), Set(), Add() en Remove() met standaard CommonMessagePropertyId
of PropertyTypeCode enum‑waarden. Toegang tot bijlage‑metadata en binaire gegevens via
MapiAttachment‑eigenschappen: Filename, MimeType, ContentId en Data.


Snelstart

Installeer het pakket:

dotnet add package Aspose.Email.Foss

Lees een onderwerp uit een MSG‑bestand:

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

Ondersteunde formaten

FormaatExtensieLezenSchrijven
Compound File Binary.cfb
Outlook Message.msg
MIME / EML.eml

Open source & licensering

Aspose.Email FOSS for .NET is released under the MIT license. You may use it freely in
personal, commercial, and open-source projects with no usage restrictions. The source code is
available at
github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.


Aan de slag