FAQ — Aspose.Email FOSS per .NET

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.Foss

Quale 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?

FormatoLeggiScrivi
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.

 Italiano