Introduktion

Aspose.Email FOSS for .NET er et gratis, open-source C#-bibliotek, der giver dig mulighed for at arbejde med Outlook
MSG-filer, Compound File Binary (CFB)-containere og EML-beskeder direkte i din .NET
applikation — ingen Microsoft Outlook, ingen COM-interoperabilitet og ingen native biblioteker kræves. Distribuer
det som en enkelt NuGet-pakke, og det kører identisk på Windows, Linux, macOS, Docker-containere,
og serverløse funktioner.

Biblioteket løser et tilbagevendende problem i virksomhed- og integrationsarbejde: Outlook .msg‑filer produceres af millioner af forretningsbrugere, men at parse dem uden Outlook har historisk krævet COM‑automatisering eller dyre kommercielle biblioteker. Aspose.Email FOSS for .NET leverer fuld læse/skriv‑understøttelse for MSG, den underliggende CFB‑binære container og EML/MIME‑formatet — alt sammen under MIT‑licensen uden brugsrestriktioner.

Uanset om du bygger en e‑mailarkiveringspipeline, et migrationsværktøj, en vedhæftningsudtrækker, eller en automatiseret MSG‑generator, giver dette bibliotek dig direkte, lavniveauadgang til hver byte af e‑mailformatet sammen med et højniveau MapiMessage API, der lader dig komme i gang på få minutter.


Nøglefunktioner

Læs Outlook MSG-filer

Åbn enhver .msg-fil fra en sti eller strøm med MsgReader.FromFile() eller MsgReader.FromStream().
Få adgang til den komplette MAPI‑egenskabsstrøm, modtagerposter og vedhæftnings‑underlag på
det rå byte‑niveau 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);

Opret MSG-filer fra bunden

Byg en komplet e‑mail programmatisk ved hjælp af MapiMessage.Create(). Angiv emnet, almindelig tekst krop, HTML‑krop, afsendernavn, afsender‑e‑mailadresse, leveringstidspunkt og internet‑meddelelses‑ID, og tilføj derefter modtagere med AddRecipient() og vedhæftede filer 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 tilbage)

Indlæs en standard RFC 5322 .eml fil i en MapiMessage med MapiMessage.LoadFromEml(), gem den derefter som en Outlook .msg fil — eller vend processen om med MapiMessage.SaveToEml(). Den indbyggede MIME‑parser bevarer emne, brødtekst, HTML‑brødtekst, afsender, modtagere og vedhæftede filer gennem fulde EML ↔ MSG rundrejser.

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

Lavt niveau CFB-containeradgang

Outlook MSG-filer er bygget på Compound File Binary (CFB)-formatet — en hierarkisk binær container, der ligner et filsystem. CfbReader eksponerer det fulde mappe‑træ: iterer lagre og strømme med IterStorages(), IterStreams() og IterChildren(), naviger til specifikke poster via sti med ResolvePath(), og læs rå strøm‑bytes med GetStreamData().

CfbWriter giver dig mulighed for at konstruere og serialisere et CFB-dokument fra bunden. Opret en CfbDocument, tilknyt CfbStorage og CfbStream noder, og kald CfbWriter.ToBytes() eller CfbWriter.WriteFile() for at serialisere.

MAPI‑egenskab og vedhæftningsadgang

Klassen MapiPropertyCollection giver typet MAPI‑egenskabsadgang for ethvert MSG‑ eller lagerobjekt:
brug Get(), Set(), Add() og Remove() med standard CommonMessagePropertyId
eller PropertyTypeCode enum‑værdier. Få adgang til vedhæftningsmetadata og binære data via
MapiAttachment‑egenskaber: Filename, MimeType, ContentId og Data.


Hurtig start

Installer pakken:

dotnet add package Aspose.Email.Foss

Læs 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})");

Understøttede formater

FormatUdvidelseLæsSkriv
Compound File Binary.cfb
Outlook Message.msg
MIME / EML.eml

Open Source & Licensering

Aspose.Email FOSS for .NET er udgivet under MIT-licensen. Du kan bruge den frit i personlige, kommercielle og open-source projekter uden brugsrestriktioner. Kildekoden er tilgængelig på github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.


Kom i gang