Bevezetés

Aspose.Email FOSS for .NET egy ingyenes, nyílt forráskódú C# könyvtár, amely lehetővé teszi, hogy közvetlenül a .NET alkalmazásában dolgozzon Outlook MSG fájlokkal, Compound File Binary (CFB) konténerekkel és EML üzenetekkel — nincs szükség Microsoft Outlookra, COM interopra, és natív könyvtárakra sem. Terjesztheti egyetlen NuGet csomagként, és azonos módon fut Windows, Linux, macOS, Docker konténerekben és serverless függvényekben.

A könyvtár megold egy visszatérő problémát a vállalati és integrációs munkában: Outlook .msg fájlokat milliók üzleti felhasználói állítanak elő, de ezek feldolgozása Outlook nélkül történelmileg COM automatizálást vagy drága kereskedelmi könyvtárakat igényelt. Aspose.Email FOSS for .NET teljes olvasási/írási támogatást nyújt az MSG, az alapul szolgáló CFB bináris konténer és az EML/MIME formátum számára — mindezt az MIT licenc alatt, felhasználási korlátozások nélkül.

Akár e‑mail archiválási csővezeték, migrációs eszköz, melléklet‑kinyerő vagy automatizált MSG generátor építésén dolgozol, ez a könyvtár közvetlen, alacsony szintű hozzáférést biztosít az e‑mail formátum minden bájtjához, valamint egy magas szintű MapiMessage API‑t, amely lehetővé teszi, hogy percek alatt elkezdhesd.


Főbb jellemzők

Outlook MSG fájlok olvasása

Nyisson meg bármely .msg fájlt egy útvonalról vagy adatfolyamból a MsgReader.FromFile() vagy MsgReader.FromStream() segítségével.
A teljes MAPI tulajdonságfolyamot, a címzettrekordokat és a melléklet alraktárakat a
nyers bájtszinten érheti el a MsgStorage és MsgStream segítségével.

using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");

var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

MSG fájlok létrehozása a semmiből

Építsen fel egy teljes e‑mailt programozottan a MapiMessage.Create() használatával. Állítsa be a tárgyat, a egyszerű szöveges törzset, a HTML törzset, a feladó nevét, a feladó e‑mail címét, a kézbesítési időt és az internetes üzenetazonosítót, majd adjon hozzá címzetteket a AddRecipient() segítségével és mellékleteket a AddAttachment() használatával. Sorosítsa a message.Save() segítségével.

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

EML konvertálása MSG-re (és vissza)

Betölts egy szabványos RFC 5322 .eml fájlt egy MapiMessage‑ba MapiMessage.LoadFromEml() segítségével,
majd mentsd Outlook .msg fájlként — vagy fordítsd meg a folyamatot MapiMessage.SaveToEml() használatával.
A beépített MIME elemző megőrzi a tárgyat, a szöveget, a HTML‑szöveget, a feladót, a címzetteket és a mellékleteket
teljes EML ↔ MSG körutak során.

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

Alacsony szintű CFB Container hozzáférés

Az Outlook MSG fájlok a Compound File Binary (CFB) formátumra épülnek — egy hierarchikus bináris tárolóra, amely hasonló egy fájlrendszerhez. CfbReader megjeleníti a teljes könyvtárfát: tárolókat és adatfolyamokat iterálhat IterStorages(), IterStreams() és IterChildren() segítségével, konkrét bejegyzésekhez navigálhat útvonallal ResolvePath() használatával, és nyers adatfolyam‑bájtokat olvashat GetStreamData() segítségével.

CfbWriter lehetővé teszi, hogy a semmiből CFB dokumentumot építsen fel és sorosítson. Hozzon létre egy CfbDocument-t, csatoljon CfbStorage és CfbStream csomópontokat, és hívja meg a CfbWriter.ToBytes()-t vagy a CfbWriter.WriteFile()-t a sorosításhoz.

MAPI tulajdonságok és mellékletek hozzáférése

A MapiPropertyCollection osztály típusos MAPI tulajdonság-hozzáférést biztosít bármely MSG vagy tároló objektumhoz: használja a Get(), Set(), Add() és Remove() elemeket a szabványos CommonMessagePropertyId vagy PropertyTypeCode enum értékekkel. A csatolmány metaadataihoz és bináris adatainak eléréséhez használja a MapiAttachment tulajdonságokat: Filename, MimeType, ContentId és Data.


Gyors kezdés

Telepítse a csomagot:

dotnet add package Aspose.Email.Foss

Tárgy beolvasása egy MSG fájlból:

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

Támogatott formátumok

FormátumKiterjesztésOlvasásÍrás
Compound File Binary.cfb
Outlook Message.msg
MIME / EML.eml

Nyílt forráskód és licencelés

Aspose.Email FOSS for .NET a MIT licenc alatt kerül kiadásra. Szabadon használhatja személyes, kereskedelmi és nyílt forráskódú projektekben, korlátozás nélkül. A forráskód elérhető a
github.com/aspose-email-foss/Aspose.Email-FOSS-for-.Net.


Első lépések