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

Aspose.Email FOSS for .NET

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

Open-Source .NET Library 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 binaire containers — doorloop directory‑items, lees en schrijf opslag‑knooppunten en stream‑data, en inspecteer de ruwe sectorindeling. MsgReader en MsgWriter behandelen het MSG‑formaat bovenop CFB, waarbij MAPI‑eigenschapstreams, ontvangerstabellen en bijlage‑sub‑opslagruimtes worden blootgesteld. Op het hoge niveau stelt MapiMessage je in staat nieuwe berichten vanaf nul te maken, onderwerp, inhoud, afzender en ontvangers te lezen, bijlagen te beheren en te converteren tussen MSG‑ en EML‑formaat 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 Lees en Schrijf

  • Open CFB-bestanden: Laad bestaande CF B containers van een bestandspad, stream of byte array via CfbReader.FromFile(), CfbReader.FromStream() of new CfbReader(data).
  • ** Doorlopen van de directory tree:** Itereren van opslag, streams en kinderen met IterStorages(), IterStreams() , IterChildren() en IterTree().
  • Oplossing van paden: Navigeren in geneste opslaghiërarchieën met ResolvePath(names) om een specifieke stroom te vinden op basis van naamketens.
  • ** CFB-containers schrijven:** Programmatisch bouwen van CF B-documenten met CfbDocument en serialiseren naar bytes of bestanden via CfbWriter.ToBytes() of CfbWriter.WriteFile().
  • Voeg opslag en streams toe: Voeg CfbStorage- en CfbStream -knooppunten aan een opslagaanode vast voordat de serialisatie plaatsvindt.

Waar CFB-toegang wordt gebruikt

  • MSG-bestandinspectie: CFB is het containerformaat voor Outlook .msg bestanden directe toegang tot CF B maakt forensisch onderzoek en reparatie mogelijk.
  • Aangepaste binaire formaten: Elke oude toepassing die CFB voor gegevensopslag gebruikt, kan zonder COM-afhankelijkheid worden gelezen of geschreven.
  • ** Data recovery:** Doorlopen van de volledige directory tree en extraher ruwe stream bytes uit beschadigde of niet-standaard CFB bestanden.
  • Binary round-trip testing: Een document serialiseren in bytes en opnieuw laden om verliesloze serialization te verifiëren bij geautomatiseerde tests.

MSG-bestand Lezen en Schrijven

  • ** MSG-bestanden lezen:** Open Outlook MS G- bestanden met MsgReader.FromFile() of MsgReader.FromStream() en toegang tot de onderliggende MAPI eigenschap stromen, ontvanger records, en bijlage sub-opslag.
  • ** MSG-bestanden schrijven:** MS G- bestanden maken van een MsgDocument met MsgWriter.ToBytes() of MsgWriter.WriteFile().
  • MAPI-toegang op laag niveau: Lees eigenschapstromen van het hoogste niveau, genaamd eigendom en bijlagen via MsgStorage, MsgStream en MsgStorage.FindStream().
  • MSG-opslagnavigatie: Gebruik MsgStorage.FindStream() en MsgStorage.FindStorage() om benamende subindentries te vinden.

Waar MSG-verwerking wordt gebruikt

  • E-mail archiefpipelines: Bulk-read .msg bestanden uit archiveringsmappen en extracteren metagegevens of bijlagen.
  • Migratie-tools: Converteren van MSG-collecties naar standaardformaten voor invoer in systemen die niet uit Outlook bestaan.
  • Legale ontdekking: Parse raw MAPI-eigendomsstromen om alle berichtvelden, inclusief niet-standaard eigenschappen, te extraheren.
  • Automatische rapportage: Programmatisch .msg-bestanden bouwen en aan Outlook-gebaseerde mailsystemen afleveren.

API voor berichten op hoog niveau

  • Maak berichten: Bouw een volledige e‑mail met MapiMessage.Create(subject, body), stel SenderName, SenderEmailAddress en HtmlBody in.
  • Voeg ontvangers toe: Voeg To, Cc en Bcc ontvangers toe via AddRecipient() met e‑mailadres en weergavenaam.
  • Beheer bijlagen: Voeg bestand‑ 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 batch‑taken.
  • 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 schijf.
  • Eigenschap‑inspectie: Toegang tot message.Subject, message.Body, message.SenderEmailAddress en message.Recipients zonder COM‑automatisering.

EML- en MIME-conversie

  • Load EML in MapiMessage: Parse een standaard .eml bestand (RFC 5322 / MIME) in een volledige MapiMessage object via MapiMessage.LoadFromEml(stream).
  • MapiMessage als EML opslaan: Een MapiMessage terug naar MIME-formaat serialiseren met message.SaveToEml() of message.SaveToEml(stream).
  • Rondreis-getrouwheid: Onderwerp, lichaam, HTML-lichaam, afzender, ontvanger en bijlagen worden allemaal bewaard door middel van EML → MSG → EM L rondreizen.
  • ** Geen externe MIME-parser:** EML-Parsing wordt native geïmplementeerd binnen de bibliotheek geen System.Net.Mail afhankelijkheid vereist.

Waar EML-omzetting wordt gebruikt

  • Format overbrugging: Ontvang e-mails als EML van mailservers en converteer naar MSG voor Outlook-compatibele opslag.
  • Standaarden: Omzetten van eigen MSG-bestanden naar standaard MIME voor levering aan eerdere postvervoerders.
  • Archivaal normaliseren: Een gemengd archief van .eml en .msg bestanden tot één formaat normalisering.
  • Testwerkstromen: Genereer .eml-bevestigingen in tests en controleer of ze MSG rondreizen zonder gegevensverlies overleven.

Lees onderwerp uit een MSG-bestand

Open een Outlook MSG-bestand vanuit een stream en druk het onderwerp geen Microsoft Outlook nodig.

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 complete e-mail met afzender, ontvanger en bijlage. Schrijf het dan in 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);

Omzetten van EML naar MSG

Laad een standaard .eml-bestand en bewaar het als Outlook .msg-file 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