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

Aspose.Email FOSS for .NET

Læs, opret og behandl Outlook MSG-filer, CFB-beholdere og EML-beskeder fra .NET — gratis og open source, ingen Microsoft Outlook-afhængighed.

Open-Source .NET Library for MSG, CFB og EML filer

Aspose.Email FOSS for .NET er et MIT-licenseret, afhængighedsfrit C# bibliotek til at arbejde med Microsoft Outlook .msg filer, Compound File Binary (CFB) containere og EML-beskeder. Tilføj en enkelt NuGet pakke og begynd straks at læse, oprette og behandle e‑mailbeskeder uden at installere Microsoft Outlook eller nogen proprietær runtime.

Biblioteket giver to niveauer af adgang. På lavt niveau giver CfbReader og CfbWriter fuld kontrol over CFB binære containere — gennemse mappeindgange, læse og skrive lagringsnoder og streamdata samt inspicere den rå sektorlayout. MsgReader og MsgWriter håndterer MSG-formatet oven på CFB og eksponerer MAPI‑egenskabsstrømme, modtager‑tabeller og vedhæftnings‑sub‑lagre. På højt niveau gør MapiMessage det muligt at oprette nye beskeder fra bunden, læse emne, brødtekst, afsender og modtagere, administrere vedhæftninger og konvertere mellem MSG- og EML-format via en indbygget MIME‑implementation.

Biblioteket har som mål .NET 8.0 eller senere og har ingen native afhængigheder, hvilket gør det egnet til Windows, Linux, macOS, Docker‑containere og serverløse funktioner. For yderligere funktioner og kommerciel support, se Aspose.Email for .NET.

CFB-container Læs og skriv

  • Open CFB files: Åbn eksisterende CFB-beholdere fra en filsti, stream eller byte‑array via CfbReader.FromFile(), CfbReader.FromStream() eller new CfbReader(data).
  • Traverse the directory tree: Gå igennem lagre, streams og underordnede ved hjælp af IterStorages(), IterStreams(), IterChildren() og IterTree().
  • Resolve paths: Naviger i indlejrede lagerhierarkier med ResolvePath(names) for at finde en specifik stream via navnekæde.
  • Write CFB containers: Byg CFB-dokumenter programmatisk med CfbDocument og serialiser til bytes eller fil via CfbWriter.ToBytes() eller CfbWriter.WriteFile().
  • Add storages and streams: Tilføj CfbStorage og CfbStream noder til enhver lagernode før serialisering.

Hvor CFB-adgang anvendes

  • MSG-filinspektion: CFB er containerformatet for Outlook .msg filer direkte adgang til CF B muliggør retsmedicinske inspektioner og reparationer.
  • Kustom binære formater: Enhver gammel applikation, der bruger CFB til datalagring, kan læses eller skrives uden COM-afhængighed.
  • ** Data recovery:** Gå gennem hele katalogtræet og udtræk rå stream bytes fra beskadigede eller ikke-standard CFB filer.
  • Binær rundrejseprøvning: Serialiser et dokument til byte og genindlæs det for at verificere tabsfri serialisering i automatiserede tests.

MSG-fil Læse og Skriv

  • Læs MSG-filer: Åbn Outlook MS G-filer med MsgReader.FromFile() eller MsgReader.FromStream() og få adgang til de underliggende MAPI-egenskaber strømme, modtagere poster og vedhæftede sublagre.
  • ** Skriv MSG-filer:** Fremstille MS G-filer fra en MsgDocument med MsgWriter.ToBytes() eller MsgWriter.WriteFile().
  • Lå nivea MAPI adgang: Læs top-level ejendomsstrømme, navngivne egenskaber og vedhæftede data via MsgStorage, MsgStream og MsgStorage.FindStream().
  • MSG-lagringsnavigation: Brug MsgStorage.FindStream() og MsgStorage.FindStorage() til at finde navngivne underoptagelser.

Hvor der anvendes MSG-behandling

  • E-mail arkiveringsrørledninger: Masseles .msg filer fra arkivmapper og ekstrakt metadata eller vedhæftede filer.
  • Migrationsværktøjer: Konvertere MSG-samlinger til standardformater, så de kan importeres i systemer uden for Outlook.
  • Legal discovery: Analyser rå MAPI-egenskabstrømme for at udtrække alle meddelelsesfelter, herunder ikke-standardegenskaber.
  • Automatiseret rapportering: Konstruer .msg-filer programmatisk og lever dem til Outlookbaserede postsystemer.

High-Level Message API

  • Skab beskeder: Skab en komplet e-mail med MapiMessage.Create(subject, body), sæt SenderName, SenderEmailAddress og HtmlBody.
  • ** Tilføj modtagere:** Vedhæft To, Cc og Bcc-modtager via AddRecipient() med e-mailadresse og visningsnavn.
  • ** Administrer vedhæftede filer:** Tilføj fil- og streamvedhæftet materiale med AddAttachment() eller konstruer MapiAttachment objekter direkte medFilename, MimeType , ContentId og Data.
  • Lad og lad igen: Serialiser med message.Save() eller message.Save(stream) og læs på ny medMapiMessage.FromFile() og MapiMessage.FromStream().

Hvor man bruger High-Level API'en

  • Automatiseret e‑mailgenerering: Generer tusindvis af personlige MSG‑filer fra dataregistre i batch‑jobs.
  • Testfixtureoprettelse: Byg kendte‑gode MSG‑filer med forudsigeligt indhold til integrationstest‑suiter.
  • Vedhæftningsudtræk: Indlæs en MSG‑fil, iterer message.Attachments, og gem hver attachment.Data til disk.
  • Egenskabsinspektion: Få adgang til message.Subject, message.Body, message.SenderEmailAddress og message.Recipients uden COM‑automatisering.

EML- og MIME-konvertering

  • Lad EML ind i MapiMessage: Parse en standard .eml fil (RFC 5322 / MIME) til et fuldt MapiMessage objekt via MapiMessage.LoadFromEml(stream).
  • ** Gem MapiMessage som EML:** Serialiser en MapiMessage tilbage til MIME-format med message.SaveToEml() eller message.SaveToEml(stream).
  • ** Rundrejse-troværdighed:** Emne, body, HTML body og sender samt modtagere og vedhæftede filer bevares alle gennem EML → MSG → EM L rundrejser.
  • Ingen ekstern MIME-parser: EML-parsing implementeres lokalt i biblioteket ingen System.Net.Mail afhængighed kræves.

Hvor EML-omdannelse anvendes

  • Formatbridning: Modtag e-mails som EML fra mailservere og konvertere til MSG for Outlook-kompatibel lagring.
  • Forpligtelse til at overholde standarder: Konvertere proprietære MSG-filer til standard MIME for levering til enhver posttransport.
  • Arkivnormalisering: Normaliser et blandet arkiv af .eml og .msg-filer til ét format.
  • Testning af arbejdsprocesser: Generere .eml-anordninger i tests og verificere, at de overlever MSG’s rundrejse uden tab af data.

Læs emne fra en MSG-fil

Åbn en Outlook MSG-fil fra et stream og printe emnet ingen Microsoft Outlook kræves.

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

Oprette og gemme en MSG-meddelelse

Opbyg en komplet e-mail med afsender, modtager og vedhæftede filer. Skriv den til en MSG fil.

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

Konvertere EML til MSG

Lade en standard .eml fil og gem den som Outlook .msg fil ved hjælp af indbygget 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);
  

Support og læringsressourcer

 Dansk