1. Producten
  2.   Aspose.Email
  3.   Aspose.Email FOSS for .NET

Aspose.Email FOSS voor .NET

Lees, maak en verwerk Outlook MSG‑bestanden, CFB‑containers en EML‑berichten vanuit .NET — gratis en open-source, zonder Microsoft Outlook‑afhankelijkheid.

Open-Source .NET Bibliotheek voor MSG-, CFB- en EML‑bestanden

Aspose.Email FOSS voor .NET is een MIT-gelicentieerde, afhankelijkheidsvrije C# bibliotheek voor het werken met Microsoft Outlook .msg bestanden, Compound File Binary (CFB) containers en EML-berichten. Voeg een enkel NuGet pakket toe en begin onmiddellijk met het lezen, maken en verwerken van e‑mailberichten zonder Microsoft Outlook of enige propriëtaire runtime te installeren.

De bibliotheek biedt twee niveaus van toegang. Op het lage niveau geven CfbReader en CfbWriter volledige controle over CFB binary containers — doorloop directory entries, lees en schrijf storage nodes en stream data, en inspecteer de ruwe sectorindeling. MsgReader en MsgWriter behandelen het MSG-formaat bovenop CFB, waarbij MAPI property streams, recipient tables en attachment sub-storages worden blootgesteld. Op het hoge niveau laat MapiMessage je nieuwe berichten vanaf nul maken, onderwerp, body, afzender en ontvangers lezen, bijlagen beheren en tussen MSG en EML formaat converteren via een ingebouwde MIME-implementatie.

De bibliotheek richt zich op .NET 8.0 of later en heeft geen native afhankelijkheden, waardoor hij geschikt is voor Windows, Linux, macOS, Docker‑containers en serverless‑functies. Voor extra functies en commerciële ondersteuning, zie Aspose.Email for .NET.

CFB‑container lezen en schrijven

  • Open CFB-bestanden: Laad bestaande CFB-containers vanaf een bestandspad, stream of byte-array via CfbReader.FromFile(), CfbReader.FromStream() of new CfbReader(data).
  • Doorloop de directoryboom: Itereer opslagplaatsen, streams en kinderen met behulp van IterStorages(), IterStreams(), IterChildren() en IterTree().
  • Paden oplossen: Navigeer geneste opslaghiërarchieën met ResolvePath(names) om een specifieke stream te vinden via een naamketen.
  • CFB-containers schrijven: Bouw CFB-documenten programmatisch met CfbDocument en serialiseer naar bytes of bestand via CfbWriter.ToBytes() of CfbWriter.WriteFile().
  • Voeg opslagplaatsen en streams toe: Koppel CfbStorage en CfbStream knooppunten aan een willekeurig opslagknooppunt vóór serialisatie.

Waar CFB-toegang wordt gebruikt

  • MSG-bestandsinspectie: CFB is het containerformaat voor Outlook .msg-bestanden — directe CFB-toegang maakt forensische inspectie en reparatie mogelijk.
  • Aangepaste binaire formaten: Elke legacy‑applicatie die CFB gebruikt voor gegevensopslag kan worden gelezen of geschreven zonder een COM‑afhankelijkheid.
  • Gegevensherstel: Doorloop de volledige directoryboom en extraheer ruwe streambytes uit beschadigde of niet-standaard CFB-bestanden.
  • Binaire round-trip test: Serialiseer een document naar bytes en laad het opnieuw om verliesloze serialisatie te verifiëren in geautomatiseerde tests.

MSG‑bestand lezen en schrijven

  • Lees MSG-bestanden: Open Outlook MSG-bestanden met MsgReader.FromFile() of MsgReader.FromStream() en krijg toegang tot de onderliggende MAPI‑eigenschapsstromen, ontvangerrecords en bijlage‑subopslag.
  • Schrijf MSG-bestanden: Genereer MSG-bestanden vanuit een MsgDocument met MsgWriter.ToBytes() of MsgWriter.WriteFile().
  • Low-level MAPI-toegang: Lees top-level eigenschapsstreams, benoemde eigenschappen en bijlagegegevens via MsgStorage, MsgStream en MsgStorage.FindStream().
  • MSG storage navigation: Gebruik MsgStorage.FindStream() en MsgStorage.FindStorage() om benoemde subvermeldingen te vinden.

Waar MSG-verwerking wordt gebruikt

  • Email archival pipelines: Bulk-lezen .msg bestanden uit archiefmappen en extraheer metadata of bijlagen.
  • Migratietools: Converteer MSG-collecties naar standaardformaten voor import in niet-Outlook-systemen.
  • Juridische ontdekking: Analyseer ruwe MAPI-eigenschapsstreams om alle berichtvelden te extraheren, inclusief niet-standaard eigenschappen.
  • Geautomatiseerde rapportlevering: Maak .msg-bestanden programmatisch en lever ze af aan Outlook-gebaseerde mailsystemen.

High-Level Bericht-API

  • Berichten maken: Stel een volledige e‑mail samen met MapiMessage.Create(subject, body), stel SenderName, SenderEmailAddress en HtmlBody in.
  • Ontvangers toevoegen: Voeg To, Cc en Bcc ontvangers toe via AddRecipient() met e-mailadres en weergavenaam.
  • Beheer bijlagen: Voeg bestands- en streambijlagen toe met AddAttachment() of construeer MapiAttachment objecten direct met Filename, MimeType, ContentId en Data.
  • Opslaan en opnieuw laden: Serialiseer met message.Save() of message.Save(stream) en laad opnieuw met MapiMessage.FromFile() of MapiMessage.FromStream().

Waar de High-Level API wordt gebruikt

  • Geautomatiseerde e-mailgeneratie: Genereer duizenden gepersonaliseerde MSG-bestanden uit gegevensrecords in batchtaken.
  • Testfixturecreatie: Bouw bekende, goede MSG-bestanden met voorspelbare inhoud voor integratietestsuites.
  • Bijlage-extractie: Laad een MSG‑bestand, doorloop message.Attachments, en sla elke attachment.Data op naar schijf.
  • Eigenschapinspectie: Toegang tot message.Subject, message.Body, message.SenderEmailAddress en message.Recipients zonder COM-automatisering.

EML- en MIME-conversie

  • EML laden in MapiMessage: Parseren van een standaard .eml bestand (RFC 5322 / MIME) naar een volledig MapiMessage object via MapiMessage.LoadFromEml(stream).
  • Save MapiMessage as EML: Serialiseer een MapiMessage terug naar MIME-indeling met message.SaveToEml() of message.SaveToEml(stream).
  • Rondreisgetrouwheid: Onderwerp, inhoud, HTML inhoud, afzender, ontvangers en bijlagen worden allemaal behouden tijdens EML → MSG → EML rondreizen.
  • Geen externe MIME-parser: EML-parsing is native geïmplementeerd binnen de bibliotheek — geen System.Net.Mail-afhankelijkheid vereist.

Waar EML-conversie wordt gebruikt

  • Format bridging: Ontvang e‑mails als EML van mailservers en converteer ze naar MSG voor Outlook‑compatibele opslag.
  • Naleving van standaarden: Converteer propriëtaire MSG-bestanden naar standaard MIME voor levering aan elk mailtransport.
  • Archiveringsnormalisatie: Normaliseer een gemengd archief van .eml en .msg bestanden naar één formaat.
  • Testing workflows: Genereer .eml fixtures in tests en verifieer dat ze de MSG round-trip overleven zonder gegevensverlies.

Onderwerp lezen uit een MSG-bestand

Open een Outlook MSG‑bestand vanuit een stream en druk het onderwerp af — geen Microsoft Outlook vereist.

using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

Een MSG-bericht maken en opslaan

Maak een volledige e‑mail met afzender, ontvanger en bijlage, en schrijf deze vervolgens naar een MSG‑bestand.

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

EML naar MSG converteren

Laad een standaard .eml-bestand en sla het op als een Outlook .msg-bestand met behulp van de ingebouwde 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);
  

Ondersteuning en leermiddelen

 Nederlands