Въведение
Aspose.Email FOSS for .NET is a free, open-source C# library that lets you work with Outlook MSG файлове, комбинирани бинарни файлови контейнери (CFB) и EML съобщения директно в .NET приложение — няма Microsoft Outlook, няма COM интероп и не се изискват библиотеки. като един пакет NuGet и работи идентично на контейнери Windows, Linux, macOS, Docker, и без сървърни функции.
Библиотеката решава повтарящ се проблем в бизнеса и интеграционните работи: Outlook .msg Филми са произведени от милиони бизнес потребители, но паркирането им без Outlook е исторически изисква автоматизация на COM или скъпи търговски библиотеки. Aspose.Email FOSS за .NET предоставя пълна подкрепа за четене/пишене на MSG, основното CFB бинарно контейнер и формат EML/MIME — Всички под лиценз на MIT без ограничения за употреба.
Независимо дали изграждате електронна поща, инструмент за миграция, екстрактор на приложки, или автоматичен генератор на MSG, тази библиотека ви дава директен достъп до всеки байт от Форматът на имейл съвместно с високо ниво MapiMessage API, която ви позволява да започнете за минути.
Ключови характеристики
Прочетете Outlook MSG файлове
Отворете всяка .msg да се изтегли от пътят или потока с MsgReader.FromFile() или MsgReader.FromStream(). Достъп до пълния поток на собственост MAPI, записи за получатели и под-съхранение на приложението в Нивото на суровия байт чрез MsgStorage и MsgStream.
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 файлове от Scratch
Изграждане на пълен имейл, като се използва програмирано MapiMessage.Create().Създайте темата, плайн текст тялото, HTML тяло, име на изпращача, адрес за електронна поща, време за доставка и интернет съобщение ID, след това Добавете получатели с AddRecipient() и привързаностите с AddAttachment().Сериозно се свързва с message.Save().
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 (и обратно)
Зареждане на стандартния RFC 5322 .eml Датата в A MapiMessage с MapiMessage.LoadFromEml(), След това го изтрийте като Outlook. .msg даден файл — или обратен процес с MapiMessage.SaveToEml(). Вграденият MIME пасер запазва субъект, тяло, HTML тяла, изпращач, получател и приставки. чрез пълни EML ↔ MSG кръговите пътища.
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);
Ниско ниво на достъп до контейнер CFB
Outlook MSG файлове са изградени на формат Compound File Binary (CFB) — йерархичен бинарни Съдържание, подобно на файловата система. CfbReader излага пълния дръв на директориума: итерирани съхранения и тече с IterStorages(), IterStreams(),и IterChildren(),Навигация на специални Входът по пътя с ResolvePath(),и четете суровият поток байтове с GetStreamData().
CfbWriter да ви позволи да изградите и сериализирате CFB документ от скратче. CfbDocument, Привързване CfbStorage и CfbStream Коледа и повикване CfbWriter.ToBytes() или CfbWriter.WriteFile() Да се сериализира.
MAPI и достъп до имоти
и на MapiPropertyCollection клас предоставя типово MAPI достъп до собственост за всяка MSG или съхранение Обект: Използване Get(), Set(), Add(),и Remove() С стандарт CommonMessagePropertyId или PropertyTypeCode Достъп до метаданни и бинарни данни чрез MapiAttachment Собственост на имота: Filename, MimeType, ContentId,и Data.
Бързо стартиране
Инсталирайте пакета:
dotnet add package Aspose.Email.Foss
Прочетете тема от MSG файл:
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})");
Подкрепени формати
| Форматът | Разширяване | Прочетете | Писане |
|---|---|---|---|
| Съединение на файловете бинарни | .cfb | ✓ | ✓ |
| Изпращане на Outlook | .msg | ✓ | ✓ |
| MIME / EML | .eml | ✓ | ✓ |
Отворени източници и лицензиране
Aspose.Email FOSS for .NET is released under the Мит лиценз.Можете да го използвате свободно в лични, търговски и отворени проекти без ограничения за използване. източникът е Достъпни в github.com/аспо-електронна поща/Aspose.Email-FOSS-for-.Net.