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 є незалежним. Конкурентний доступ до окремих екземплярів з різних потоків безпечний. Не використовуйте один екземпляр у кількох потоках без зовнішньої синхронізації.