ЧЗВ — Aspose.Email FOSS for .NET
Лицензиране
Какъв лиценз използва Aspose.Email.Foss?
Лиценз MIT. Не е необходим лицензен ключ. Използвайте свободно в лични, търговски и проекти с отворен код.
Инсталиране
Как да инсталирам Aspose.Email.Foss?
dotnet add package Aspose.Email.FossКаква версия на .NET е необходима?
.NET 8.0 или по-нов. Библиотеката не поддържа .NET Framework или .NET Standard.
Има ли native dependencies?
Не. Библиотеката е чисто управлявана C# без родни зависимости. Тя работи идентично на Windows, Linux, macOS, Docker и безсървърни среди.
Поддръжка на формати
Кои формати за имейл се поддържат?
| Формат | Четене | Писане |
|---|---|---|
| MSG (Outlook) | ✓ | ✓ |
| CFB (Compound File Binary) | ✓ | ✓ |
| EML (MIME / RFC 5322) | ✓ | ✓ |
Мога ли да чета EML файлове?
Да. Използвайте MapiMessage.LoadFromEml(stream), за да заредите стандартен .eml файл в MapiMessage. Вградената MIME парсер обработва сгънати заглавки, base64 съдържание и multipart съобщения.
Мога ли да конвертирам 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 екземпляр е независим. Паралелният достъп до отделни екземпляри от различни нишки е безопасен. Не споделяйте един екземпляр между нишки без външна синхронизация.