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

Aspose.Email FOSS for .NET

Les, opprett og behandle Outlook MSG-filer, CFB-beholdere og EML-meldinger fra .NET — gratis og åpen kilde, ingen Microsoft Outlook-avhengighet.

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

Aspose.Email FOSS for .NET er et MIT‑lisensiert, avhengighetsfritt C# bibliotek for å arbeide med Microsoft Outlook .msg‑filer, Compound File Binary (CFB)‑containere og EML‑meldinger. Legg til en enkelt NuGet‑pakke og start umiddelbart med å lese, opprette og behandle e‑postmeldinger uten å installere Microsoft Outlook eller noen proprietær kjøretidsmiljø.

Biblioteket gir to nivåer av tilgang. På lavt nivå gir CfbReader og CfbWriter full kontroll over CFB binære containere — traversere katalogoppføringer, lese og skrive lagringsnoder og strømdata, og inspisere den rå sektorlayouten. MsgReader og MsgWriter håndterer MSG-formatet på toppen av CFB, og eksponerer MAPI‑egenskapsstrømmer, mottakertabeller og vedleggsunderlagre. På høyt nivå lar MapiMessage deg opprette nye meldinger fra bunnen av, lese emne, innhold, avsender og mottakere, administrere vedlegg, og konvertere mellom MSG‑ og EML‑format via en innebygd MIME‑implementering.

Biblioteket retter seg mot .NET 8.0 eller nyere og har ingen native avhengigheter, noe som gjør det egnet for Windows, Linux, macOS, Docker‑containere og serverløse funksjoner. For ekstra funksjoner og kommersiell støtte, se Aspose.Email for .NET.

CFB-beholder Les og Skriv

  • Open CFB files: Last inn eksisterende CFB-beholdere fra en filsti, en strøm eller en byte‑array via CfbReader.FromFile(), CfbReader.FromStream() eller new CfbReader(data).
  • Traverser katalogtreet: Iterer lagringer, strømmer og barn ved hjelp av IterStorages(), IterStreams(), IterChildren() og IterTree().
  • Løs opp stier: Naviger i nestede lagringshierarkier med ResolvePath(names) for å finne en spesifikk strøm ved navnkjede.
  • Skriv CFB-beholdere: Bygg CFB-dokumenter programmatisk med CfbDocument og serialiser til bytes eller fil via CfbWriter.ToBytes() eller CfbWriter.WriteFile().
  • Legg til lagringer og strømmer: Koble CfbStorage og CfbStream noder til en hvilken som helst lagringsnode før serialisering.

Hvor CFB-tilgang brukes

  • MSG file inspection: CFB er containerformatet for Outlook .msg-filer — direkte CFB-tilgang muliggjør rettsmedisinsk inspeksjon og reparasjon.
  • Egendefinerte binære formater: Alle eldre applikasjoner som bruker CFB for datalagring kan leses eller skrives uten en COM‑avhengighet.
  • Data recovery: Traverser hele katalogtreet og hent ut rå strømbytes fra skadede eller ikke-standard CFB-filer.
  • Binær rundtur-testing: Serialiser et dokument til bytes og last det inn på nytt for å verifisere tapsfri serialisering i automatiserte tester.

MSG-fil Les og Skriv

  • Les MSG-filer: Åpne Outlook MSG-filer med MsgReader.FromFile() eller MsgReader.FromStream() og få tilgang til de underliggende MAPI‑egenskapsstrømmene, mottakerpostene og vedleggsunderlagrene.
  • Skriv MSG-filer: Produser MSG-filer fra en MsgDocument med MsgWriter.ToBytes() eller MsgWriter.WriteFile().
  • Lavnivå MAPI-tilgang: Les top‑nivå egenskapsstrømmer, navngitte egenskaper og vedleggsdata via MsgStorage, MsgStream og MsgStorage.FindStream().
  • MSG storage navigation: Bruk MsgStorage.FindStream() og MsgStorage.FindStorage() for å lokalisere navngitte underoppføringer.

Hvor MSG-behandling brukes

  • Email archival pipelines: Masse-lese .msg-filer fra arkivkataloger og hente ut metadata eller vedlegg.
  • Migrasjonsverktøy: Konverter MSG-samlinger til standardformater for import til ikke-Outlook-systemer.
  • Juridisk oppdagelse: Analyser rå MAPI‑egenskapsstrømmer for å hente ut alle meldingsfelter, inkludert ikke‑standard egenskaper.
  • Automatisert rapportlevering: Konstruer .msg filer programmatisk og lever dem til Outlook-baserte e‑postsystemer.

Høynivå Meldings-API

  • Opprett meldinger: Bygg en komplett e‑post med MapiMessage.Create(subject, body), sett SenderName, SenderEmailAddress og HtmlBody.
  • Legg til mottakere: Legg ved To, Cc og Bcc mottakere via AddRecipient() med e‑postadresse og visningsnavn.
  • Administrer vedlegg: Legg til fil- og strømvedlegg med AddAttachment() eller konstruer MapiAttachment objekter direkte med Filename, MimeType, ContentId og Data.
  • Lagre og last inn på nytt: Serialiser med message.Save() eller message.Save(stream) og last inn på nytt med MapiMessage.FromFile() eller MapiMessage.FromStream().

Hvor høy‑nivå‑API‑et brukes

  • Automatisert e‑postgenerering: Generer tusenvis av personlige MSG‑filer fra dataoppføringer i batch‑jobber.
  • Opprettelse av testfixture: Bygg pålitelige MSG-filer med forutsigbart innhold for integrasjonstestsett.
  • Vedlegguttrekking: Last inn en MSG-fil, iterer message.Attachments, og lagre hver attachment.Data til disk.
  • Egenskapsinspeksjon: Tilgang til message.Subject, message.Body, message.SenderEmailAddress og message.Recipients uten COM-automatisering.

EML- og MIME-konvertering

  • Load EML into MapiMessage: Analyser en standard .eml-fil (RFC 5322 / MIME) til et fullstendig MapiMessage-objekt via MapiMessage.LoadFromEml(stream).
  • Save MapiMessage as EML: Serialiser en MapiMessage tilbake til MIME-format med message.SaveToEml() eller message.SaveToEml(stream).
  • Rundtur-fidelitet: Emne, brødtekst, HTML brødtekst, avsender, mottakere og vedlegg blir alle bevart gjennom EML → MSG → EML rundtur-omganger.
  • Ingen ekstern MIME-parser: EML-parsing er implementert nativt i biblioteket — ingen System.Net.Mail-avhengighet kreves.

Hvor EML-konvertering brukes

  • Format bridging: Mottak e‑post som EML fra e‑postservere og konverter til MSG for Outlook‑kompatibel lagring.
  • Standardoverholdelse: Konverter proprietære MSG-filer til standard MIME for levering til enhver e‑posttransport.
  • Arkivnormalisering: Normaliser et blandet arkiv av .eml og .msg filer til ett format.
  • Testarbeidsflyter: Generer .eml fixtures i tester og verifiser at de overlever MSG-rundtur uten datatap.

Les emnet fra en MSG-fil

Åpne en Outlook MSG-fil fra en strøm og skriv ut emnet — ingen Microsoft Outlook kreves.

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

Opprett og lagre en MSG-melding

Bygg en komplett e‑post med avsender, mottaker og vedlegg, og skriv den deretter 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

Last inn en standard .eml-fil og lagre den som en Outlook .msg-fil ved hjelp av den innebygde MIME‑parseren.

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

Støtte og læringsressurser

 Norsk