FAQ — Aspose.Email FOSS dla .NET

FAQ — Aspose.Email FOSS dla .NET

Licencjonowanie

Jaką licencję używa Aspose.Email.Foss?

Licencja MIT. Nie wymaga klucza licencyjnego. Używaj swobodnie w projektach osobistych, komercyjnych i open-source.


Instalacja

Jak zainstalować Aspose.Email.Foss?

dotnet add package Aspose.Email.Foss

Jaka wersja .NET jest wymagana?

.NET 8.0 lub nowszy. Biblioteka nie obsługuje .NET Framework ani .NET Standard.

Czy istnieją natywne zależności?

Nie. Biblioteka jest czystym zarządzanym C# bez natywnych zależności. Działa identycznie na Windows, Linux, macOS, Docker i w środowiskach serverless.


Obsługa formatów

Jakie formaty e‑mail są obsługiwane?

FormatOdczytZapis
MSG (Outlook)
CFB (Compound File Binary)
EML (MIME / RFC 5322)

Czy mogę odczytać pliki EML?

Tak. Użyj MapiMessage.LoadFromEml(stream), aby załadować standardowy plik .eml do MapiMessage. Wbudowany parser MIME obsługuje składane nagłówki, zawartość base64 oraz wiadomości multipart.

Czy mogę konwertować MSG na EML?

Tak. Wywołaj message.SaveToEml() dla wyjścia byte[] w pamięci, lub
message.SaveToEml(stream), aby zapisać do pliku. Temat, treść, treść HTML, nadawca,
odbiorcy i wszystkie załączniki są zachowane.

Czy TNEF (winmail.dat) jest obsługiwany?

Nie. Obsługiwane są wyłącznie standardowe formaty MSG (CFB) i EML (MIME).

Czy obsługiwane są IMAP/SMTP/POP3?

Nie. Biblioteka obsługuje pliki MSG bezpośrednio i nie zawiera żadnej warstwy sieciowej/protokolowej.


Użycie API

Jak załadować plik MSG?

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

Jak utworzyć nową wiadomość?

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

Jak dodać załączniki?

// 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");

Jak przekonwertować EML na MSG?

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

Jak uzyskać dostęp do surowej struktury 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);

Znane ograniczenia

Czy istnieją niezaimplementowane metody?

W bieżącej wersji nie istnieją celowo niezaimplementowane szkielety.

Czy dostępna jest obsługa kalendarza/spotkań?

Biblioteka obsługuje pliki MSG w sposób ogólny. Właściwości specyficzne dla kalendarza można uzyskać za pomocą SetProperty() / GetPropertyValue() z identyfikatorami właściwości MAPI z CommonMessagePropertyId, ale nie ma dedykowanego interfejsu API kalendarza ani spotkań.

Czy bezpieczeństwo wątków jest gwarantowane?

Każda instancja MapiMessage i CfbReader jest niezależna. Jednoczesny dostęp do oddzielnych instancji z różnych wątków jest bezpieczny. Nie udostępniaj jednej instancji między wątkami bez zewnętrznej synchronizacji.

 Polski