FAQ — Aspose.Email FOSS для .NET

FAQ — Aspose.Email FOSS для .NET

Ліцензування

Яку ліцензію використовує Aspose.Email.Foss?

Ліцензія MIT. Ключ ліцензії не потрібен. Використовуйте вільно в особистих, комерційних та відкритих проектах.


Встановлення

Як встановити Aspose.Email.Foss?

dotnet add package Aspose.Email.Foss

Яка версія .NET потрібна?

.NET 8.0 або новіше. Бібліотека не підтримує .NET Framework або .NET Standard.

Чи є нативні залежності?

Ні. Бібліотека є чисто керованою C# без нативних залежностей. Вона працює ідентично на Windows, Linux, macOS, Docker та безсерверних середовищах.


Підтримка форматів

Які формати електронної пошти підтримуються?

ФорматЧитатиЗапис
MSG (Outlook)
CFB (Compound File Binary)
EML (MIME / RFC 5322)

Чи можу я читати файли EML?

Так. Використовуйте MapiMessage.LoadFromEml(stream), щоб завантажити стандартний .eml файл у MapiMessage. Вбудований парсер MIME обробляє складені заголовки, base64 вміст і багаточастинні повідомлення.

Чи можу я конвертувати MSG у EML?

Так. Викличте message.SaveToEml() для виведення byte[] у пам’яті, або message.SaveToEml(stream) для запису у файл. Тема, тіло, HTML‑тіло, відправник, одержувачі та всі вкладення зберігаються.

Чи підтримується TNEF (winmail.dat)?

Ні. Підтримуються лише стандартні формати MSG (CFB) та EML (MIME).

Чи підтримується IMAP/SMTP/POP3?

Ні. Бібліотека обробляє файли MSG безпосередньо і не включає жодного мережевого/протокольного шару.


Використання API

Як завантажити файл MSG?

using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("message.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

Як створити нове повідомлення?

var message = MapiMessage.Create("Subject", "Body");
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
message.Save("output.msg");

Як додати вкладення?

// From byte array
message.AddAttachment("file.pdf", pdfBytes, "application/pdf");

// From stream
using var stream = File.OpenRead("photo.png");
message.AddAttachment("photo.png", stream, "image/png");

Як конвертувати EML у MSG?

using var eml = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(eml);
message.Save("message.msg");

Як отримати доступ до необробленої структури CFB?

using Aspose.Email.Foss.Cfb;
using var reader = CfbReader.FromFile("message.msg");
foreach (var entry in reader.IterChildren(CfbConstants.RootStreamId))
    Console.WriteLine(entry.Name);

Відомі обмеження

Чи є будь‑які нереалізовані методи?

У поточній версії не існує навмисно не реалізованих заглушок.

Чи доступна підтримка календаря/призначень?

Бібліотека обробляє файли MSG узагальнено. Властивості, специфічні для календаря, можна отримати через
SetProperty() / GetPropertyValue() з ідентифікаторами властивостей MAPI з CommonMessagePropertyId,
але немає спеціального API для календаря чи зустрічей.

Чи гарантується безпека потоків?

Кожен екземпляр MapiMessage та CfbReader є незалежним. Конкурентний доступ до окремих екземплярів з різних потоків безпечний. Не використовуйте один екземпляр у кількох потоках без зовнішньої синхронізації.

 Українська