FAQ — Aspose.Email FOSS per .NET
Licenze
Quale licenza utilizza Aspose.Email.Foss?
Licenza MIT. Non è necessaria alcuna chiave di licenza. Usala liberamente in progetti personali, commerciali e open‑source.
Installazione
Come installo Aspose.Email.Foss?
dotnet add package Aspose.Email.FossQuale versione di .NET è richiesta?
.NET 8.0 o versioni successive. La libreria non supporta .NET Framework o .NET Standard.
Ci sono dipendenze native?
No. La libreria è puramente gestita C# senza dipendenze native. Funziona identicamente su Windows, Linux, macOS, Docker e ambienti serverless.
Supporto Formato
Quali formati di email sono supportati?
| Formato | Leggi | Scrivi |
|---|---|---|
| MSG (Outlook) | ✓ | ✓ |
| CFB (Compound File Binary) | ✓ | ✓ |
| EML (MIME / RFC 5322) | ✓ | ✓ |
Posso leggere i file EML?
Sì. Usa MapiMessage.LoadFromEml(stream) per caricare un file .eml standard in un
MapiMessage. Il parser MIME integrato gestisce intestazioni piegate, contenuto base64 e
messaggi multipart.
Posso convertire MSG in EML?
Sì. Chiama message.SaveToEml() per l’output byte[] in memoria, o
message.SaveToEml(stream) per scrivere su un file. Oggetto, corpo, corpo HTML, mittente,
destinatari e tutti gli allegati vengono conservati.
Il TNEF (winmail.dat) è supportato?
No. Sono supportati solo i formati standard MSG (CFB) ed EML (MIME).
È supportato IMAP/SMTP/POP3?
No. La libreria gestisce i file MSG direttamente e non include alcun livello di rete/protocollo.
Utilizzo dell’API
Come carico un file MSG?
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("message.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);Come creo un nuovo messaggio?
var message = MapiMessage.Create("Subject", "Body");
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
message.Save("output.msg");Come aggiungere gli allegati?
// 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");Come converto EML in MSG?
using var eml = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(eml);
message.Save("message.msg");Come accedo alla struttura CFB grezza?
using Aspose.Email.Foss.Cfb;
using var reader = CfbReader.FromFile("message.msg");
foreach (var entry in reader.IterChildren(CfbConstants.RootStreamId))
Console.WriteLine(entry.Name);Limitazioni note
Ci sono metodi non implementati?
Non esistono stub intenzionalmente non implementati nella versione corrente.
È disponibile il supporto per calendario/appuntamenti?
La libreria gestisce i file MSG in modo generico. Le proprietà specifiche del calendario possono essere accessibili tramite SetProperty() / GetPropertyValue() con gli ID di proprietà MAPI da CommonMessagePropertyId, ma non esiste un’API dedicata al calendario o agli appuntamenti.
La sicurezza dei thread è garantita?
Ogni istanza MapiMessage e CfbReader è indipendente. L’accesso concorrente a istanze separate
da thread distinti è sicuro. Non condividere un’unica istanza tra thread
senza sincronizzazione esterna.