Úvod
Aspose.Email FOSS for .NET je bezplatná, open-source knižnica v C#, ktorá vám umožňuje pracovať s Outlook MSG súbormi, kontajnermi Compound File Binary (CFB) a EML správami priamo vo vašej .NET aplikácii — žiadny Microsoft Outlook, žiadna COM interop a žiadne natívne knižnice nie sú potrebné. Distribuujte ju ako jeden NuGet balík a spúšťa sa identicky na Windows, Linux, macOS, Docker kontajneroch a serverless funkciách.
Knižnica rieši opakujúci sa problém v podnikovom a integračnom prostredí: súbory Outlook .msg sú vytvárané miliónmi obchodných používateľov, ale ich parsovanie bez Outlooku historicky vyžadovalo COM automatizáciu alebo drahé komerčné knižnice. Aspose.Email FOSS pre .NET poskytuje úplnú podporu čítania/zápisu pre MSG, podkladový binárny kontajner CFB a formát EML/MIME — všetko pod licenciou MIT bez akýchkoľvek obmedzení použitia.
Či už budujete email archival pipeline, migration tool, attachment extractor alebo automated MSG generator, táto knižnica vám poskytuje priamy, nízkoúrovňový prístup ku každému bajtu email formátu spolu s vysokou úrovňou MapiMessage API, ktorá vám umožní začať za pár minút.
Kľúčové funkcie
Čítať súbory Outlook MSG
Otvorte akýkoľvek súbor .msg z cesty alebo prúdu pomocou MsgReader.FromFile() alebo MsgReader.FromStream().
Získajte prístup k úplnému MAPI prúdu vlastností, záznamom príjemcov a podúložiskám príloh na úrovni surových bajtov prostredníctvom MsgStorage a 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);
Vytvorte MSG súbory od začiatku
Vytvorte kompletný e‑mail programovo pomocou MapiMessage.Create(). Nastavte predmet, plain‑text
telo, HTML telo, meno odosielateľa, e‑mailovú adresu odosielateľa, čas doručenia a internetové ID správy, potom
pridajte príjemcov pomocou AddRecipient() a prílohy pomocou AddAttachment(). Serializujte pomocou
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);
Konvertovať EML na MSG (a späť)
Načítajte štandardný RFC 5322 .eml súbor do MapiMessage s MapiMessage.LoadFromEml(),
potom ho uložte ako Outlook .msg súbor — alebo obráťte proces pomocou MapiMessage.SaveToEml().
Vstavaný MIME parser zachováva predmet, telo, HTML telo, odosielateľa, príjemcov a prílohy
prostredníctvom úplných EML ↔ MSG cyklov.
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);
Nízkoúrovňový prístup k CFB kontajneru
Outlook MSG súbory sú postavené na formáte Compound File Binary (CFB) — hierarchickom binárnom kontajneri podobnom súborovému systému. CfbReader odhaľuje celý strom adresárov: iterujte úložiská a prúdy pomocou IterStorages(), IterStreams() a IterChildren(), navigujte k špecifickým položkám podľa cesty pomocou ResolvePath() a čítajte surové bajty prúdu pomocou GetStreamData().
CfbWriter vám umožňuje zostaviť a serializovať CFB dokument od začiatku. Vytvorte CfbDocument,
pripojte uzly CfbStorage a CfbStream a zavolajte CfbWriter.ToBytes() alebo
CfbWriter.WriteFile() na serializáciu.
Prístup k MAPI vlastnostiam a prílohám
Trieda MapiPropertyCollection poskytuje typizovaný prístup k MAPI vlastnostiam pre akýkoľvek objekt MSG alebo úložiska: použite Get(), Set(), Add() a Remove() so štandardnými hodnotami výčtu CommonMessagePropertyId alebo PropertyTypeCode. Prístup k metadátam príloh a binárnym údajom prostredníctvom vlastností MapiAttachment: Filename, MimeType, ContentId a Data.
Rýchly štart
Nainštalujte balík:
dotnet add package Aspose.Email.Foss
Prečítajte predmet z MSG súboru:
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})");
Podporované formáty
| Formát | Rozšírenie | Čítanie | Zápis |
|---|---|---|---|
| Compound File Binary | .cfb | ✓ | ✓ |
| Outlook Message | .msg | ✓ | ✓ |
| MIME / EML | .eml | ✓ | ✓ |
Open Source a licencovanie
Aspose.Email FOSS pre .NET je vydaný pod MIT licenciou.
Môžete ho voľne používať v osobných, komerčných a open-source projektoch bez akýchkoľvek obmedzení používania.
Zdrojový kód je dostupný na
github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.