Ú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átRozšírenieČítanieZá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.


Začíname