1. Produkty
  2.   Aspose.Email
  3.   Aspose.Email FOSS for .NET

Aspose.Email FOSS pro .NET

Čtěte, vytvářejte a zpracovávejte Outlook MSG soubory, CFB kontejnery a EML zprávy z .NET — zdarma a open-source, bez závislosti na Microsoft Outlook.

Open-Source .NET knihovna pro soubory MSG, CFB a EML

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.

Čtení a zápis CFB kontejneru

  • Otevřít soubory CFB: Načtěte existující kontejnery CFB z cesty k souboru, proudu nebo pole bajtů pomocí CfbReader.FromFile(), CfbReader.FromStream() nebo new CfbReader(data).
  • Procházet strom adresářů: Iterujte úložiště, streamy a podřízené pomocí IterStorages(), IterStreams(), IterChildren() a IterTree().
  • Vyřešte cesty: Procházejte vnořené hierarchie úložišť pomocí ResolvePath(names) a najděte konkrétní stream podle řetězce názvů.
  • Zapisovat kontejnery CFB: Vytvářejte CFB dokumenty programově pomocí CfbDocument a serializujte je do bajtů nebo souboru pomocí CfbWriter.ToBytes() nebo CfbWriter.WriteFile().
  • Přidejte úložiště a proudy: Připojte uzly CfbStorage a CfbStream k libovolnému uzlu úložiště před serializací.

Kde se používá přístup CFB

  • Inspekce souboru MSG: CFB je kontejnerový formát pro soubory Outlook .msg — přímý přístup k CFB umožňuje forenzní inspekci a opravu.
  • Vlastní binární formáty: Jakákoli starší aplikace používající CFB pro ukládání dat může být čtena nebo zapisována bez závislosti na COM.
  • Obnova dat: Procházejte celý strom adresářů a extrahujte surové bajty proudu z poškozených nebo nestandardních souborů CFB.
  • Binary round-trip testing: Serializujte dokument do bajtů a znovu jej načtěte, abyste v automatizovaných testech ověřili bezeztrátovou serializaci.

Čtení a zápis MSG souboru

  • Číst soubory MSG: Otevřete soubory Outlook MSG pomocí 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.
  • Zapisovat soubory MSG: Vytvořte soubory MSG z MsgDocument pomocí MsgWriter.ToBytes() nebo MsgWriter.WriteFile().
  • Nízká úroveň přístupu k MAPI: Čtěte top-level property streams, named properties a data příloh pomocí MsgStorage, MsgStream a MsgStorage.FindStream().
  • Navigace úložiště MSG: Použijte MsgStorage.FindStream() a MsgStorage.FindStorage() k nalezení pojmenovaných podzáznamů.

Kde se používá zpracování MSG

  • Email archival pipelines: Hromadně číst .msg soubory z adresářů archivů a extrahovat metadata nebo přílohy.
  • Migrační nástroje: Převést kolekce MSG do standardních formátů pro import do systémů, které nejsou Outlook.
  • Legal discovery: Zpracovat surové proudy vlastností MAPI a extrahovat všechna pole zprávy, včetně nestandardních vlastností.
  • Automatické doručování zpráv: Programově vytvořte soubory .msg a doručte je do poštovních systémů založených na Outlooku.

API pro zprávy na vysoké úrovni

  • Vytvořit zprávy: Sestavte kompletní e‑mail s MapiMessage.Create(subject, body), nastavte SenderName, SenderEmailAddress a HtmlBody.
  • Přidat příjemce: Připojit příjemce To, Cc a Bcc prostřednictvím AddRecipient() s e‑mailovou adresou a zobrazovaným jménem.
  • Spravovat přílohy: Přidejte souborové a streamové přílohy pomocí AddAttachment() nebo vytvořte objekty MapiAttachment přímo pomocí Filename, MimeType, ContentId a Data.
  • Uložit a znovu načíst: Serializovat pomocí message.Save() nebo message.Save(stream) a znovu načíst pomocí MapiMessage.FromFile() nebo MapiMessage.FromStream().

Kde se používá API vyšší úrovně

  • Automatické generování e‑mailů: Vytvořte tisíce personalizovaných souborů MSG z datových záznamů ve dávkových úlohách.
  • Vytvoření testovacího fixtru: Vytvořte známé dobré MSG soubory s předvídatelným obsahem pro integrační testovací sady.
  • Extrahování příloh: Načtěte soubor MSG, iterujte message.Attachments a uložte každou attachment.Data na disk.
  • Inspekce vlastnosti: Přístup k message.Subject, message.Body, message.SenderEmailAddress a message.Recipients bez COM automatizace.

Konverze EML a MIME

  • Load EML into MapiMessage: Analyzujte standardní soubor .eml (RFC 5322 / MIME) na úplný objekt MapiMessage pomocí MapiMessage.LoadFromEml(stream).
  • Uložit MapiMessage jako EML: Serializovat MapiMessage zpět do formátu MIME s message.SaveToEml() nebo message.SaveToEml(stream).
  • Round-trip fidelity: Předmět, tělo, HTML tělo, odesílatel, příjemci a přílohy jsou všechny zachovány během EML → MSG → EML zpětných převodů.
  • Žádný externí MIME parser: Parsování EML je implementováno nativně v knihovně — není vyžadována závislost na System.Net.Mail.

Kde se používá konverze EML

  • Formátové propojení: Přijímejte e-maily ve formátu EML ze serverů pošty a převádějte je do MSG pro úložiště kompatibilní s Outlookem.
  • Soulad se standardy: Převést proprietární soubory MSG na standardní MIME pro doručení do libovolného poštovního transportu.
  • Archivní normalizace: Normalizujte smíšený archiv souborů .eml a .msg do jediného formátu.
  • Testování pracovních postupů: Vygenerujte .eml fixury v testech a ověřte, že přežijí MSG round-trip bez ztráty dat.

Přečíst předmět z MSG souboru

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řit a uložit zprávu MSG

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

Převést EML na MSG

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

Podpora a vzdělávací materiály

 Čeština