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 metmessage.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 viaMapiAttachment‑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
| Formaat | Extensie | Lezen | Schrijven |
|---|---|---|---|
| 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.