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

Aspose.Email FOSS for .NET

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

Бібліотека .NET з відкритим джерелом для файлів MSG, CFB та EML.

Aspose.Email FOSS для .NET — це бібліотека C# з ліцензією MIT, без залежностей, для роботи з файлами Microsoft Outlook .msg, контейнерами Compound File Binary (CFB) та повідомленнями EML. Додайте один пакет NuGet і одразу починайте читати, створювати та обробляти електронні листи без встановлення Microsoft Outlook або будь‑якого пропрієтарного середовища виконання.

Бібліотека надає два рівні доступу. На низькому рівні 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:** Завантажити існуючі контейнери CF B з шляху, потоку або байтового масиву файлів через CfbReader.FromFile(), CfbReader.FromStream() чи new CfbReader(data).
  • ** Переходьте дерево каталогів:** Ітерацію зберігання, потоків та дітей з використанням IterStorages(), IterStreams(),IterChildren() і IterTree().
  • Розв’язати шляхи: Перехід в гніздовані ієрархії зберігання з ResolvePath(names), щоб знайти конкретний потік за ланцюгом назви.
  • Напишіть контейнери CFB: Створіть документи CF B програмно з CfbDocument і серіалізуйте до байтів або файлів за допомогою CfbWriter.ToBytes() або CfbWriter.WriteFile().
  • ** Додавати зберігання та потоки:** Прикріпляти вузли CfbStorage і CfbStream до будь-якого вузька для збереження перед серіалізацією.

Де використовується доступ CFB

  • Інспекція файлів MSG: CFB - формат контейнера для файлов Outlook .msg прямий доступ до CF B дозволяє правоохоронну інспекцію та ремонт.
  • Конструктивні двоякі формати: Будь-яке існуюче додаток, що використовує CFB для зберігання даних може читатися або записуватися без COM залежності.
  • ** Відтворення даних:** Пройдіть по всьому дереві каталогів і витягніть байти потоку з пошкоджених або нестандартних файлів CFB.
  • Бінарне тестування по маршруту: Серіалізуйте документ до байтів і перезавантажуйте його для підтвердження безпроблемної серіалізації в автоматизованих тестах.

Файл MSG Читання та запис

  • Читати файли MSG: Відкрити файл Outlook MS G з MsgReader.FromFile() або MsgReader.FromStream() і отримати доступ до потоків властивостей MAPI, записів одержувача та підзаховищ додатків.
  • Напишіть файли MSG: Виробте файл MS G з MsgDocument за допомогою MsgWriter.ToBytes() або MsgWriter.WriteFile().
  • Доступ MAPI низького рівня: Читати потоки властивостей верхнього рівня, названі властивості та дані прикріплення через MsgStorage, MsgStream і MsgStorage.FindStream().
  • Навігація для зберігання MSG: Для пошуку названих підзаписи використовуйте MsgStorage.FindStream() та MsgStorage.FindStorage().

Де використовується переробка МСГ

  • Архівізаційні лінії електронної пошти: Масовий читання файлів .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 → EM L поворотної подорожі.
  • Немає зовнішнього MIME-парасера: EML-пасерування реалізується наційно в бібліотеці не потрібна залежність System.Net.Mail.

Де використовується конверсія EML

  • ** Формат мости:** Отримати електронні листи як EML від поштових серверів і перетворювати на MSG для зберігання, сумісного з Outlook.
  • Сохування стандартів: Переведіть власницькі файли MSG в стандартний MIME для доставки на будь-який поштовий транспорт.
  • ** Нормалізація архіву:** Норматизація змішаного архиву файлів .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 file .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);
  

Ресурси Підтримки та Навчання

 Українська