Aspose.Email FOSS for .NET egy MIT-licencű, függőségmentes C# könyvtár a Microsoft Outlook .msg fájlok, Compound File Binary (CFB) konténerek és EML üzenetek kezeléséhez. Adj hozzá egyetlen NuGet csomagot, és azonnal elkezdhetsz e‑mail üzeneteket olvasni, létrehozni és feldolgozni anélkül, hogy a Microsoft Outlookot vagy bármilyen tulajdonosi futtatókörnyezetet telepítenél.
A könyvtár két szintű hozzáférést biztosít. Alacsony szinten a CfbReader és a CfbWriter teljes irányítást ad a CFB bináris konténerek felett — bejárja a könyvtárbejegyzéseket, olvas és ír tárolócsomópontokat és adatfolyamokat, valamint megvizsgálja a nyers szektor elrendezést. A MsgReader és a MsgWriter kezeli a MSG formátumot a CFB tetején, kitetve a MAPI tulajdonság adatfolyamokat, a címzett táblákat és a melléklet al‑tárolókat. Magas szinten a MapiMessage lehetővé teszi új üzenetek létrehozását a semmiből, a tárgy, a szöveg, a feladó és a címzettek olvasását, a mellékletek kezelését, valamint az MSG és az EML formátum közötti konvertálást egy beépített MIME megvalósítással.
A könyvtár a .NET 8.0 vagy újabb verzióra céloz, és nincs natív függősége, így alkalmas Windows, Linux, macOS, Docker konténerek és szerver nélküli függvények számára. További funkciókért és kereskedelmi támogatásért lásd a Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream() vagy new CfbReader(data) segítségével.IterStorages(), IterStreams(), IterChildren() és IterTree() használatával.ResolvePath(names) segítségével, hogy egy adott adatfolyamot találjon meg névláncolattal.CfbDocument segítségével, és sorosítsd bájtokba vagy fájlba a CfbWriter.ToBytes() vagy a CfbWriter.WriteFile() használatával.CfbStorage és CfbStream csomópontokat bármely tárolócsomóponthoz a sorosítás előtt..msg fájlok konténerformátuma — a közvetlen CFB hozzáférés lehetővé teszi a kriminalisztikai ellenőrzést és javítást.MsgReader.FromFile() vagy a MsgReader.FromStream() segítségével, és érje el az alapul szolgáló MAPI tulajdonságáramokat, címzettrekordokat és melléklet al‑tárolókat.MsgDocument segítségével MsgWriter.ToBytes() vagy MsgWriter.WriteFile() használatával.MsgStorage, MsgStream és MsgStorage.FindStream() segítségével.MsgStorage.FindStream() és a MsgStorage.FindStorage() elemeket a név szerint megnevezett albejegyzések megtalálásához..msg fájlokból az archív könyvtárakból és metaadatok vagy mellékletek kinyerése..msg fájlokat, és juttassa el őket Outlook-alapú levelezőrendszerekhez.MapiMessage.Create(subject, body) használatával, állítsa be a SenderName, SenderEmailAddress és HtmlBody értékeket.To, Cc és Bcc címzetteket a AddRecipient() segítségével e-mail címmel és megjelenített névvel.AddAttachment() használatával, vagy közvetlenül hozza létre a MapiAttachment objektumokat a Filename, MimeType, ContentId és Data segítségével.message.Save() vagy message.Save(stream) segítségével, és töltse újra a MapiMessage.FromFile() vagy MapiMessage.FromStream() használatával.message.Attachments, és mentse el minden attachment.Data-t a lemezen.message.Subject, message.Body, message.SenderEmailAddress és message.Recipients elemekhez COM automatizáció nélkül..eml fájl (RFC 5322 / MIME) elemzése egy teljes MapiMessage objektummá a MapiMessage.LoadFromEml(stream) segítségével.MapiMessage vissza MIME formátumba a message.SaveToEml() vagy message.SaveToEml(stream) segítségével..eml és .msg fájlokat tartalmaz, egyetlen formátumba..eml fixture-et a tesztekben, és ellenőrizze, hogy azok túlélnek egy MSG körúton adatvesztés nélkül.Nyisson meg egy Outlook MSG fájlt egy adatfolyamból, és írja ki a tárgyat — Microsoft Outlook nélkü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);
Készíts egy teljes e‑mailt feladóval, címzettel és melléklettel, majd írd ki egy MSG fájlba.
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);
Töltsön be egy szabványos .eml fájlt, és mentse Outlook .msg fájlként a beépített MIME elemző segítségével.
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);