1. Продукти
  2.   Aspose.Email
  3.   Aspose.Email FOSS for .NET

Aspose.Email FOSS за .NET

Четете, създавате и обработвате Outlook MSG файлове, CFB контейнери и EML съобщения от .NET — безплатно и с отворен код, без зависимост от Microsoft Outlook.

Библиотека с отворен код .NET за MSG, CFB и EML файлове

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.

CFB контейнер – четене и запис

  • Отваряне на CFB файлове: Заредете съществуващи CFB контейнери от път към файл, поток или масив от байтове чрез CfbReader.FromFile(), CfbReader.FromStream() или new CfbReader(data).
  • Претърсете дървото на директориите: Итерирайте съхранения, потоци и деца, използвайки IterStorages(), IterStreams(), IterChildren() и IterTree().
  • Resolve paths: Навигирайте вградени йерархии на съхранение с ResolvePath(names), за да намерите конкретен поток по верига от имена.
  • Записване на CFB контейнери: Създавайте CFB документи програмирано с CfbDocument и ги сериализирайте в байтове или файл чрез CfbWriter.ToBytes() или CfbWriter.WriteFile().
  • Добавете съхранения и потоци: Прикрепете CfbStorage и CfbStream възли към всеки възел за съхранение преди сериализация.

Къде се използва достъп до CFB

  • Проверка на MSG файл: CFB е контейнерният формат за файлове Outlook .msg — директният достъп до CFB позволява форензична проверка и ремонт.
  • Персонализирани двоични формати: Всяко наследено приложение, използващо CFB за съхранение на данни, може да бъде прочетено или записано без зависимост от COM.
  • Възстановяване на данни: Прегледайте пълното дърво на директориите и извлечете необработени байтове от потока от повредени или нестандартни CFB файлове.
  • Binary round-trip testing: Сериализирайте документ в байтове и го презаредете, за да проверите беззагубната сериализация в автоматизирани тестове.

MSG файл – четене и запис

  • Прочетете MSG файлове: Отворете Outlook MSG файлове с MsgReader.FromFile() или MsgReader.FromStream() и достъпете подлежащите MAPI потоци на свойства, записи на получатели и подхранилища за прикачени файлове.
  • Записване на MSG файлове: Създайте MSG файлове от MsgDocument с MsgWriter.ToBytes() или MsgWriter.WriteFile().
  • Ниско ниво на достъп до MAPI: Четене на потоци от свойства от най-горното ниво, именувани свойства и данни за прикачени файлове чрез MsgStorage, MsgStream и MsgStorage.FindStream().
  • Навигация в съхранението на MSG: Използвайте MsgStorage.FindStream() и MsgStorage.FindStorage(), за да намерите именувани подзаписи.

Къде се използва обработка на MSG

  • Имейл архивни конвейери: Масово четене на .msg файлове от архивни директории и извличане на метаданни или прикачени файлове.
  • Инструменти за миграция: Конвертирайте колекции от MSG в стандартни формати за импортиране в системи, различни от Outlook.
  • Правно откритие: Анализирайте необработени MAPI потоци от свойства, за да извлечете всички полета на съобщението, включително нестандартните свойства.
  • Автоматизирано доставяне на отчети: Конструирайте .msg файлове програмно и ги доставяйте до пощенски системи, базирани на Outlook.

API за съобщения от високо ниво

  • Създаване на съобщения: Създайте пълен имейл с 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().

Къде се използва API от високо ниво

  • Автоматизирано генериране на имейли: Създавайте хиляди персонализирани MSG файлове от записи на данни в партидни задачи.
  • Създаване на тестови фиктури: Създайте известни добри MSG файлове с предвидимо съдържание за интеграционни тестови комплекти.
  • Извличане на прикачени файлове: Заредете MSG файл, итерирайте message.Attachments, и запазете всеки attachment.Data на диск.
  • Проверка на свойствата: Достъп до message.Subject, message.Body, message.SenderEmailAddress и message.Recipients без COM автоматизация.

Конвертиране на EML и MIME

  • Зареждане на EML в MapiMessage: Анализирайте стандартен .eml файл (RFC 5322 / MIME) в пълен MapiMessage обект чрез MapiMessage.LoadFromEml(stream).
  • Запазете MapiMessage като EML: Сериализирайте MapiMessage обратно в MIME формат с message.SaveToEml() или message.SaveToEml(stream).
  • Точност при кръгово преобразуване: Темата, тялото, HTML тялото, подателят, получателите и прикачените файлове се запазват изцяло при преминаване EML → MSG → EML.
  • Няма външен MIME парсер: Разборът на EML е реализиран нативно в библиотеката — не е необходима зависимост от System.Net.Mail.

Къде се използва конвертиране на EML

  • Свързване на формати: Получавайте имейли като EML от пощенски сървъри и ги конвертирайте в MSG за съхранение, съвместимо с Outlook.
  • Съответствие със стандартите: Преобразувайте собственически MSG файлове в стандартен MIME за доставка до всякакъв пощенски транспорт.
  • Archival normalization: Нормализирайте смесен архив от .eml и .msg файлове в единен формат.
  • Тестване на работни процеси: Генерирайте .eml фикстури в тестовете и проверете дали те преживяват MSG кръгово преминаване без загуба на данни.

Прочетете темата от 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 съобщение

Създайте пълен имейл с подател, получател и прикачен файл, след което го запишете в 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 към MSG

Заредете стандартен .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);
  

Ресурси за поддръжка и обучение

 Български