Aspose.Email FOSS за .NET е MIT лицензирана, без зависимости C# библиотека за работа с Microsoft Outlook .msg файлове, Compound File Binary (CFB) контейнери и EML съобщения. Добавете един единствен NuGet пакет и веднага започнете да четете, създавате и обработвате имейл съобщения без инсталиране на Microsoft Outlook или какъвто и да е собственически runtime.
Библиотеката предоставя два нива на достъп. На ниско ниво, CfbReader и CfbWriter дават пълен контрол върху CFB бинарните контейнери — обхождане на директориите, четене и запис на съхранителни възли и данни от потоци, и преглед на суровата подредба на секторите. MsgReader и MsgWriter обработват формата MSG върху CFB, като излагат MAPI потоци на свойства, таблици на получателите и под‑съхранения за прикачени файлове. На високо ниво, MapiMessage ви позволява да създавате нови съобщения от нулата, да четете тема, тяло, подател и получатели, да управлявате прикачени файлове и да конвертирате между формати MSG и EML чрез вградена MIME имплементация.
Библиотеката цели .NET 8.0 или по‑нов и няма родни зависимости, което я прави подходяща за Windows, Linux, macOS, Docker контейнери и сървърлес функции. За допълнителни функции и комерсиална поддръжка, вижте Aspose.Email for .NET.
CfbReader.FromFile(), CfbReader.FromStream() или new CfbReader(data).IterStorages(), IterStreams(),IterChildren() и IterTree().ResolvePath(names) за намиране на конкретен поток чрез веригата от имена.CfbDocument и сериализирайте в байтове или файл чрез CfbWriter.ToBytes() или CfbWriter.WriteFile().CfbStorage и CfbStream възли към всеки възел за съхраняване преди сериализация..msg файловете пряк достъп до CF B позволява криминалистическа инспекция и ремонт.MsgReader.FromFile() или MsgReader.FromStream() и достъп до основните потоци на свойствата MAPI, записите на получателите и под-пазителности за приложения.MsgDocument с MsgWriter.ToBytes() или MsgWriter.WriteFile().MsgStorage, MsgStream и MsgStorage.FindStream().MsgStorage.FindStream() и MsgStorage.FindStorage(), за да намерите наименовани подвписвания..msg файлове от архивни директории и извличане на метаданни или приложения..msg файлове програмно и доставяне им към Outlook базирани пощенски системи.MapiMessage.Create(subject, body), задайте SenderName, SenderEmailAddress и HtmlBody.To, Cc и Bcc чрез AddRecipient() с имейл адрес и име за показване.AddAttachment() или създайте обекти MapiAttachment директно с Filename, MimeType, ContentId и Data.message.Save() или message.Save(stream) и презаредете с MapiMessage.FromFile() или MapiMessage.FromStream().message.Attachments, и запазване на всеки attachment.Data на диск.message.Subject, message.Body, message.SenderEmailAddress и message.Recipients без COM автоматизация..eml (RFC 5322 / MIME) в пълен обект MapiMessage чрез MapiMessage.LoadFromEml(stream).MapiMessage обратно в формат MIME с message.SaveToEml() или message.SaveToEml(stream)..eml и .msg в един формат..eml уреди в тестове и проверка, че те оцеляват без загуба на данни при MSG.Отворете Outlook MSG файл от поток и печатайте темата не е необходим 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);
Създайте пълен имейл с изпращач, получател и прикачен файл. След това го напишете в 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);
Заредете стандартен файл .eml и го запазете като Outlook .msg файла, използвайки вграден MIME парсер.
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);