Come iniziare con Aspose.Email FOSS per .NET
Questa guida ti accompagna nell’installazione della libreria, nella lettura del tuo primo file MSG, nella creazione di un messaggio da zero e nella conversione tra i formati EML e MSG.
Passo 1 — Installa il pacchetto
dotnet add package Aspose.Email.FossNon è necessaria alcuna configurazione aggiuntiva. Il pacchetto non ha dipendenze native.
Passo 2 — Leggi un file MSG
Crea un’app console e aggiungi il seguente codice:
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine($"Subject: {message.Subject}");
Console.WriteLine($"From: {message.SenderEmailAddress}");
Console.WriteLine($"Body: {message.Body}");
foreach (var recipient in message.Recipients)
Console.WriteLine($"To: {recipient.EmailAddress}");
foreach (var attachment in message.Attachments)
Console.WriteLine($"Attachment: {attachment.Filename} ({attachment.MimeType})");MapiMessage.FromStream() analizza il contenitore CFB del file MSG e espone tutte le proprietà MAPI
tramite proprietà C# tipizzate in modo forte. Non è necessario Microsoft Outlook.
Passo 3 — Crea un nuovo file MSG
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Meeting Notes", "Please find the notes attached.");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
// Add a file attachment
message.AddAttachment("notes.txt", System.Text.Encoding.UTF8.GetBytes("Meeting notes here"), "text/plain");
// Save to file
message.Save("meeting_notes.msg");
Console.WriteLine("Created meeting_notes.msg");MapiMessage.Create() produce un messaggio in memoria. Save() lo serializza nel formato MSG — è possibile passare un percorso file, un Stream, oppure chiamare Save() senza argomenti per ottenere un byte[].
Passo 4 — Converti EML in MSG
using System.IO;
using Aspose.Email.Foss.Msg;
// Load from EML
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
Console.WriteLine($"Subject: {message.Subject}");
// Save as MSG
message.Save("converted.msg");
Console.WriteLine("Saved converted.msg");
// Or save back to EML (round-trip)
message.SaveToEml("roundtrip.eml");Il parser MIME integrato conserva l’oggetto, il corpo, il corpo HTML, il mittente, i destinatari e tutti gli allegati durante i round‑trip completi EML ↔ MSG.
Prossimi passi
- Features and Functionalities — riferimento completo alle funzionalità con esempi C#
- FAQ — risposte alle domande comuni
- Installation Guide — configurazione NuGet e requisiti di versione .NET