Aspose.Email FOSS pro .NET je knihovna C# s licencí MIT, bez závislostí, určená pro práci se soubory Microsoft Outlook .msg, kontejnery Compound File Binary (CFB) a zprávami EML. Přidejte jediný balíček NuGet a okamžitě začněte číst, vytvářet a zpracovávat e‑mailové zprávy bez instalace Microsoft Outlook nebo jakéhokoli proprietárního runtime.
Knihovna poskytuje dvě úrovně přístupu. Na nízké úrovni CfbReader a CfbWriter poskytují plnou kontrolu nad binárními kontejnery CFB — procházejí položky adresáře, čtou a zapisují uzly úložiště a data proudu a kontrolují surové uspořádání sektorů. MsgReader a MsgWriter zpracovávají formát MSG nad CFB, odhalují MAPI property streams, tabulky příjemců a podúložiště příloh. Na vysoké úrovni MapiMessage vám umožňuje vytvářet nové zprávy od nuly, číst předmět, tělo, odesílatele a příjemce, spravovat přílohy a převádět mezi formáty MSG a EML pomocí vestavěné implementace MIME.
Knihovna cílí na .NET 8.0 nebo novější a nemá žádné nativní závislosti, což ji činí vhodnou pro Windows, Linux, macOS, Docker kontejnery a serverless funkce. Pro další funkce a komerční podporu viz Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream() nebo new CfbReader(data).IterStorages(), IterStreams(), IterChildren() a IterTree().ResolvePath(names) a najděte konkrétní stream podle řetězce názvů.CfbDocument a serializujte je do bajtů nebo souboru pomocí CfbWriter.ToBytes() nebo CfbWriter.WriteFile().CfbStorage a CfbStream k libovolnému uzlu úložiště před serializací..msg — přímý přístup k CFB umožňuje forenzní inspekci a opravu.MsgReader.FromFile() nebo MsgReader.FromStream() a přistupte k podkladovým MAPI proudům vlastností, záznamům příjemců a podúložištím příloh.MsgDocument pomocí MsgWriter.ToBytes() nebo MsgWriter.WriteFile().MsgStorage, MsgStream a MsgStorage.FindStream().MsgStorage.FindStream() a MsgStorage.FindStorage() k nalezení pojmenovaných podzáznamů..msg soubory z adresářů archivů a extrahovat metadata nebo přílohy..msg a doručte je do poštovních systémů založených na Outlooku.MapiMessage.Create(subject, body), nastavte SenderName, SenderEmailAddress a HtmlBody.To, Cc a Bcc prostřednictvím AddRecipient() s e‑mailovou adresou a zobrazovaným jménem.AddAttachment() nebo vytvořte objekty MapiAttachment přímo pomocí Filename, MimeType, ContentId a Data.message.Save() nebo message.Save(stream) a znovu načíst pomocí MapiMessage.FromFile() nebo MapiMessage.FromStream().message.Attachments a uložte každou attachment.Data na disk.message.Subject, message.Body, message.SenderEmailAddress a message.Recipients bez COM automatizace..eml (RFC 5322 / MIME) na úplný objekt MapiMessage pomocí MapiMessage.LoadFromEml(stream).MapiMessage zpět do formátu MIME s message.SaveToEml() nebo message.SaveToEml(stream)..eml a .msg do jediného formátu..eml fixury v testech a ověřte, že přežijí MSG round-trip bez ztráty dat.Otevřete soubor Outlook MSG ze streamu a vytiskněte předmět — není vyžadován Microsoft Outlook.
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);
Vytvořte kompletní e‑mail s odesílatelem, příjemcem a přílohou a poté jej uložte do souboru MSG.
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);
Načtěte standardní soubor .eml a uložte jej jako soubor Outlook .msg pomocí vestavěného MIME parseru.
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);