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 gør MapiMessage det muligt at 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‑implementation.
Biblioteket har som mål .NET 8.0 eller senere 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 via 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 adgang til CF B muliggør retsmedicinske inspektioner og reparationer.MsgReader.FromFile() eller MsgReader.FromStream() og få adgang til de underliggende MAPI-egenskaber strømme, modtagere poster og vedhæftede sublagre.MsgDocument med MsgWriter.ToBytes() eller MsgWriter.WriteFile().MsgStorage, MsgStream og MsgStorage.FindStream().MsgStorage.FindStream() og MsgStorage.FindStorage() til at finde navngivne underoptagelser..msg filer fra arkivmapper og ekstrakt metadata eller vedhæftede filer..msg-filer programmatisk og lever dem til Outlookbaserede postsystemer.MapiMessage.Create(subject, body), sæt SenderName, SenderEmailAddress og HtmlBody.To, Cc og Bcc-modtager via AddRecipient() med e-mailadresse og visningsnavn.AddAttachment() eller konstruer MapiAttachment objekter direkte medFilename, MimeType , ContentId og Data.message.Save() eller message.Save(stream) og læs på ny medMapiMessage.FromFile() og MapiMessage.FromStream().message.Attachments, og gem hver attachment.Data til disk.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 ét format..eml-anordninger i tests og verificere, at de overlever MSG’s rundrejse uden tab af data.Åbn en Outlook MSG-fil fra et stream og printe emnet ingen Microsoft Outlook kræves.
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Opbyg en komplet e-mail med afsender, modtager og vedhæftede filer. Skriv den 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);
Lade en standard .eml fil og gem den som Outlook .msg fil ved hjælp af indbygget 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);