Introduksjon

Aspose.Email FOSS for .NET er et gratis, åpen kildekode C#-bibliotek som lar deg jobbe med Outlook MSG‑filer, Compound File Binary (CFB)-containere og EML‑meldinger direkte i din .NET‑applikasjon — ingen Microsoft Outlook, ingen COM‑interop, og ingen native‑biblioteker kreves. Distribuer det som en enkelt NuGet‑pakke, og det kjører identisk på Windows, Linux, macOS, Docker‑containere og serverløse funksjoner.

Biblioteket løser et tilbakevendende problem i bedrifts- og integrasjonsarbeid: Outlook .msg‑filer produseres av millioner av forretningsbrukere, men å analysere dem uten Outlook har historisk krevd COM‑automatisering eller dyre kommersielle biblioteker. Aspose.Email FOSS for .NET gir full lese‑/skrive‑støtte for MSG, den underliggende CFB‑binære beholderen, og EML/MIME‑formatet — alt under MIT‑lisensen uten bruksrestriksjoner.

Enten du bygger en e‑postarkiveringspipeline, et migreringsverktøy, en vedleggsuttrekker, eller en automatisert MSG‑generator, gir dette biblioteket deg direkte, lavnivå tilgang til hver byte av e‑postformatet sammen med et høynivå MapiMessage API som lar deg komme i gang på minutter.


Nøkkelfunksjoner

Les Outlook MSG-filer

Åpne en hvilken som helst .msg-fil fra en sti eller strøm med MsgReader.FromFile() eller MsgReader.FromStream().
Få tilgang til den komplette MAPI‑egenskapsstrømmen, mottakerposter og vedleggs‑underlagringene på rå byte‑nivå via MsgStorage og MsgStream.

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 MSG-filer fra bunnen av

Bygg en komplett e‑post programmatisk ved hjelp av MapiMessage.Create(). Angi emnet, ren‑tekst‑kroppen, HTML‑kroppen, avsendernavn, avsenderens e‑postadresse, leveringstid og internett‑meldings‑ID, og legg deretter til mottakere med AddRecipient() og vedlegg med AddAttachment(). Serialiser med message.Save().

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 (og tilbake)

Last inn en standard RFC 5322 .eml‑fil i en MapiMessage med MapiMessage.LoadFromEml(), og lagre den som en Outlook .msg‑fil — eller gjør prosessen omvendt med MapiMessage.SaveToEml(). Den innebygde MIME‑parseren bevarer emne, tekst, HTML‑tekst, avsender, mottakere og vedlegg gjennom fullstendige EML ↔ MSG‑rundturer.

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

Lavnivå CFB-beholdertilgang

Outlook MSG-filer er bygget på Compound File Binary (CFB)-formatet — en hierarkisk binær beholder lik et filsystem. CfbReader eksponerer hele katalogtreet: iterer lagringsområder og strømmer med IterStorages(), IterStreams() og IterChildren(), naviger til spesifikke oppføringer etter sti med ResolvePath(), og les rå strømbytes med GetStreamData().

CfbWriter lar deg konstruere og serialisere et CFB-dokument fra bunnen av. Opprett en CfbDocument, fest CfbStorage og CfbStream noder, og kall CfbWriter.ToBytes() eller CfbWriter.WriteFile() for å serialisere.

MAPI‑egenskap og vedleggstilgang

MapiPropertyCollection-klassen gir typet MAPI‑egenskapstilgang for ethvert MSG‑ eller lagringsobjekt:
bruk Get(), Set(), Add() og Remove() med standard CommonMessagePropertyId
eller PropertyTypeCode enum‑verdier. Få tilgang til vedleggsmetadata og binære data via
MapiAttachment‑egenskaper: Filename, MimeType, ContentId og Data.


Kom i gang

Installer pakken:

dotnet add package Aspose.Email.Foss

Les emnet fra en MSG‑fil:

using System.IO;
using Aspose.Email.Foss.Msg;

using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Console.WriteLine(message.SenderEmailAddress);
foreach (var recipient in message.Recipients)
    Console.WriteLine($"To: {recipient.EmailAddress}");
foreach (var attachment in message.Attachments)
    Console.WriteLine($"Attachment: {attachment.Filename} ({attachment.MimeType})");

Støttede formater

FormatUtvidelseLeseSkrive
Compound File Binary.cfb
Outlook Message.msg
MIME / EML.eml

Open Source og lisensiering

Aspose.Email FOSS for .NET er utgitt under MIT-lisensen. Du kan bruke den fritt i personlige, kommersielle og åpen kildekodeprosjekter uten bruksrestriksjoner. Kildekoden er tilgjengelig på github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.


Kom i gang