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

Aspose.Email FOSS til .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 bibliotek til 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 lader MapiMessage dig 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‑implementering.

Biblioteket har som mål .NET 8.0 eller nyere 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-beholder læsning og skrivning

  • Åbn CFB-filer: Indlæs eksisterende CFB-beholdere fra en filsti, stream eller byte-array via CfbReader.FromFile(), CfbReader.FromStream() eller new CfbReader(data).
  • Gennemløb mappe-træet: Iterér lagre, streams og underordnede ved hjælp af IterStorages(), IterStreams(), IterChildren() og IterTree().
  • Resolve paths: Naviger i indlejrede lagringshierarkier med ResolvePath(names) for at finde en specifik stream ved navnekæde.
  • Write CFB containers: Byg CFB-dokumenter programmatisk med CfbDocument og serialiser til bytes eller fil via CfbWriter.ToBytes() eller CfbWriter.WriteFile().
  • Tilføj lagre og streams: Vedhæft CfbStorage og CfbStream noder til enhver lagernode før serialisering.

Hvor CFB-adgang bruges

  • MSG-filinspektion: CFB er containerformatet for Outlook .msg-filer — direkte CFB-adgang muliggør retsmedicinsk inspektion og reparation.
  • Custom binary formats: Enhver ældre applikation, der bruger CFB til datalagring, kan læses eller skrives uden en COM-afhængighed.
  • Datagendannelse: Gå igennem hele mappetræet og udtræk rå stream-bytes fra beskadigede eller ikke-standard CFB-filer.
  • Binær round-trip-testning: Serialiser et dokument til bytes og indlæs det igen for at bekræfte tabsfri serialisering i automatiserede tests.

MSG-fil læsning og skrivning

  • Læs MSG-filer: Åbn Outlook MSG-filer med MsgReader.FromFile() eller MsgReader.FromStream() og få adgang til de underliggende MAPI‑egenskabsstrømme, modtagerposter og vedhæftnings‑underlag.
  • Skriv MSG-filer: Producer MSG-filer fra en MsgDocument med MsgWriter.ToBytes() eller MsgWriter.WriteFile().
  • Lavt niveau MAPI-adgang: Læs top‑niveau egenskabs‑streams, navngivne egenskaber og vedhæftningsdata via MsgStorage, MsgStream og MsgStorage.FindStream().
  • MSG-lagringsnavigation: Brug MsgStorage.FindStream() og MsgStorage.FindStorage() til at finde navngivne underindgange.

Hvor MSG-behandling anvendes

  • Email archival pipelines: Bulk-read .msg filer fra arkivmapper og udtrække metadata eller vedhæftede filer.
  • Migrationsværktøjer: Konverter MSG-samlinger til standardformater for import til ikke-Outlook-systemer.
  • Juridisk opdagelse: Parse rå MAPI‑egenskabsstrømme for at udtrække alle beskedfelter, inklusive ikke‑standard egenskaber.
  • Automatiseret rapportlevering: Konstruer .msg filer programmatisk og lever dem til Outlook-baserede mailsystemer.

Højniveau Message API

  • Opret meddelelser: Byg en komplet e‑mail med MapiMessage.Create(subject, body), indstil SenderName, SenderEmailAddress og HtmlBody.
  • Tilføj modtagere: Vedhæft To, Cc og Bcc modtagere via AddRecipient() med e‑mailadresse og visningsnavn.
  • Administrer vedhæftede filer: Tilføj fil- og stream-vedhæftninger med AddAttachment() eller konstruer MapiAttachment objekter direkte med Filename, MimeType, ContentId og Data.
  • Gem og genindlæs: Serialiser med message.Save() eller message.Save(stream) og genindlæs med MapiMessage.FromFile() eller MapiMessage.FromStream().

Hvor den højniveau-API anvendes

  • Automatiseret e‑mailgenerering: Generer tusindvis af personlige MSG‑filer fra dataregistre i batch‑jobs.
  • Oprettelse af testfixture: Byg kendte, korrekte 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 disken.
  • Ejendomsinspektion: Få adgang til message.Subject, message.Body, message.SenderEmailAddress og message.Recipients uden COM-automatisering.

EML og MIME-konvertering

  • Indlæs EML i MapiMessage: Analyser 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).
  • Rundtur-fidelitet: Emne, brødtekst, HTML brødtekst, afsender, modtagere og vedhæftede filer bevares alle gennem EML → MSG → EML rundrejser.
  • Ingen ekstern MIME-parser: EML-parsing er implementeret nativt i biblioteket — ingen System.Net.Mail-afhængighed påkrævet.

Hvor EML-konvertering anvendes

  • Format bridging: Modtag e‑mails som EML fra mailservere og konverter til MSG for Outlook‑kompatibel lagring.
  • Standardoverholdelse: Konverter proprietære MSG-filer til standard-MIME for levering til enhver mailtransport.
  • Arkivnormalisering: Normaliser et blandet arkiv af .eml og .msg filer til et enkelt format.
  • Testing workflows: Generer .eml fixtures i tests og verificer, at de overlever MSG round-trip uden datatab.

Læs emne fra en MSG-fil

Åbn en Outlook MSG-fil fra en strøm og udskriv emnet — ingen Microsoft Outlook påkrævet.

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

Opret og gem en MSG-besked

Byg en komplet e‑mail med afsender, modtager og vedhæftning, og skriv den derefter 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);

Konverter EML til MSG

Indlæs en standard .eml-fil og gem den som en Outlook .msg-fil ved hjælp af den indbyggede 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