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.
CfbReader.FromFile(), CfbReader.FromStream() eller new CfbReader(data).IterStorages(), IterStreams(), IterChildren() og IterTree().ResolvePath(names) for at finde en specifik stream ved navnekæde.CfbDocument og serialiser til bytes eller fil via CfbWriter.ToBytes() eller CfbWriter.WriteFile().CfbStorage og CfbStream noder til enhver lagernode før serialisering..msg-filer — direkte CFB-adgang muliggør retsmedicinsk inspektion og reparation.MsgReader.FromFile() eller MsgReader.FromStream() og få adgang til de underliggende MAPI‑egenskabsstrømme, modtagerposter og vedhæftnings‑underlag.MsgDocument med MsgWriter.ToBytes() eller MsgWriter.WriteFile().MsgStorage, MsgStream og MsgStorage.FindStream().MsgStorage.FindStream() og MsgStorage.FindStorage() til at finde navngivne underindgange..msg filer fra arkivmapper og udtrække metadata eller vedhæftede filer..msg filer programmatisk og lever dem til Outlook-baserede mailsystemer.MapiMessage.Create(subject, body), indstil SenderName, SenderEmailAddress og HtmlBody.To, Cc og Bcc modtagere via AddRecipient() med e‑mailadresse og visningsnavn.AddAttachment() eller konstruer MapiAttachment objekter direkte med Filename, MimeType, ContentId og Data.message.Save() eller message.Save(stream) og genindlæs med MapiMessage.FromFile() eller MapiMessage.FromStream().message.Attachments, og gem hver attachment.Data til disken.message.Subject, message.Body, message.SenderEmailAddress og message.Recipients uden COM-automatisering..eml-fil (RFC 5322 / MIME) til et fuldt MapiMessage-objekt via MapiMessage.LoadFromEml(stream).MapiMessage tilbage til MIME-format med message.SaveToEml() eller message.SaveToEml(stream)..eml og .msg filer til et enkelt format..eml fixtures i tests og verificer, at de overlever MSG round-trip uden datatab.Å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);
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);
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);