1. Prodotti
  2.   Aspose.Email
  3.   Aspose.Email FOSS for .NET

Aspose.Email FOSS for .NET

Leggi, crea e elabora file Outlook MSG, contenitori CFB e messaggi EML da .NET — gratuito e open‑source, senza dipendenza da Microsoft Outlook.

Open-Source .NET Library per file MSG, CFB e EML

FOSS per .NET è una libreria C# con licenza MIT, senza dipendenze, per lavorare con file Microsoft Outlook .msg , contenitori Compound File Binary (CFB) e messaggi EML. Aggiungi un singolo pacchetto NuGet e inizia immediatamente a leggere, creare ed elaborare i messaggeri di posta elettronica senza installare Microsoft Outlook o qualsiasi runtime proprietario.

La libreria fornisce due livelli di accesso. Al livello basso, CfbReader e CfbWriter danno il pieno controllo sui contenitori binari CFB traverse directory entries, leggere e scrivere nodi di archiviazione e dati del flusso e ispezionare la disposizione del settore grezzo. MsgReader ed MsgWriter gestiscono il formato MSG in cima a CF B , esprimendo flussi delle proprietà MAPI, tabelle dei destinatari e sottostoraggi degli allegati .Al livello alto,MapiMessage consente di creare nuovi messaggi da zero, lettura, corpo, mittente e riceventi, gestione degli attaccamenti e conversione tra formato EMLIME e MS G tramite un’implementazione integrata di MIME.

La libreria è progettata per .NET 8.0 o successiva e non ha dipendenze native, rendendola adatta a Windows, Linux, macOS, container Docker e funzioni senza server. Per ulteriori funzionalità e supporto commerciale, vedere Aspose.Email for .NET.

Contenitore CFB Leggere e scrivere

  • Apri i file CFB: Carica contenitori CF B esistenti da un percorso di file, stream o array byte tramite CfbReader.FromFile(), CfbReader.FromStream() o new CfbReader(data).
  • ** Attraversare l’albero delle directory:** Iterate i storage, i stream e i figli utilizzando IterStorages(), IterStreams() , IterChildren() e IterTree().
  • ** Risolvere percorsi:** Navigare nelle gerarchie di archiviazione annidate con ResolvePath(names) per individuare un flusso specifico in base alla catena dei nomi.
  • ** Scrivere contenitori CFB:** Costruire documenti CF B in modo programmatico con CfbDocument e serializzare in byte o file tramite CfbWriter.ToBytes() o CfbWriter.WriteFile().
  • ** Aggiungere storage e stream:** Attaccare i nodi CfbStorage e CfbStream a qualsiasi nodo di archiviazione prima della serializzazione.

Dove viene utilizzato l'accesso CFB

  • ** Ispezione dei file MSG:** CFB è il formato contenitore per i file Outlook .msg l’accesso diretto a CF B consente ispezioni e riparazioni forensi.
  • Formati binari personalizzati: Qualsiasi applicazione tradizionale che utilizza CFB per la memorizzazione dei dati può essere letta o scritta senza una dipendenza COM.
  • Ricupero dati: Attraversare l’albero delle directory e estrarre byte di flusso grezzo da file CFB danneggiati o non standard.
  • Test binario di andata e ritorno: Serializza un documento in byte e ricarica per verificare la serializzazione senza perdite nei test automatizzati.

File MSG Leggere e scrivere

  • Leggi i file MSG: Apri i files Outlook MS G con MsgReader.FromFile() o MsgReader.FromStream() e accedi ai flussi di proprietà MAPI sottostanti, record dei destinatari e sotto-archiviazioni degli allegati.
  • ** Scrittura di file MSG:** Produci i file Msg da un MsgDocument con MsgWriter.ToBytes() o MsgWriter.WriteFile().
  • Accedere a MAPI di basso livello: Leggere flussi delle proprietà di alto livello, le proprietá nominate e i dati dell’allegato tramite MsgStorage, MsgStream e MsgStorage.FindStream().
  • ** Navigazione di memorizzazione MSG:** Utilizzare MsgStorage.FindStream() e MsgStorage.FindStorage() per individuare le sottotitoli nominati.

Dove viene utilizzata la lavorazione del MSG

  • Pipeline di archiviazione e-mail: Leggere in massa file .msg da directory di archivio ed estrarre metadati o allegati.
  • ** Strumenti di migrazione:** Convertire le collezioni MSG in formati standard per l’importazione nei sistemi non Outlook.
  • Descopertura legale: Analizzare i flussi di proprietà MAPI grezzi per estrarre tutti i campi dei messaggi, comprese le proprietá non standard.
  • Distribuzione automatizzata dei rapporti: Costruire file .msg in modo programmatico e consegnarli ai sistemi di posta basati su Outlook.

API di messaggi ad alto livello

  • Creare messaggi: Crea un’email completa con MapiMessage.Create(subject, body), impostando SenderName, SenderEmailAddress e HtmlBody.
  • Aggiungere destinatari: allegare To, Cc e Bcc attraverso AddRecipient() con indirizzo email e nome di visualizzazione.
  • Gestione degli allegati: Aggiungi file e flussi di allegato con AddAttachment() o costruisci oggetti MapiAttachment direttamente conFilename, MimeType , ContentId e Data.
  • ** Salvare e ricaricare:** Serializza con message.Save() o message.Save(stream) e ricarica conMapiMessage.FromFile() oppure MapiMessage.FromStream().

Dove viene utilizzata l'API di alto livello

  • Generazione automatica di email: Genera migliaia di file MSG personalizzati a partire da record di dati in processi batch.
  • Creazione di fixture di test: Crea file MSG noti e corretti con contenuto prevedibile per suite di test di integrazione.
  • Estrazione di allegati: Carica un file MSG, itera message.Attachments, e salva ogni attachment.Data su disco.
  • Ispezione delle proprietà: Accedi a message.Subject, message.Body, message.SenderEmailAddress e message.Recipients senza automazione COM.

Conversione EML e MIME

  • ** Caricare EML in MapiMessage:** Parse un file standard .eml (RFC 5322 / MIME) in un oggetto completo MapiMessage tramite MapiMessage.LoadFromEml(stream).
  • ** Salvare MapiMessage come EML:** Serializzi un MapiMessage in formato MIME con message.SaveToEml() o message.SaveToEml(stream).
  • Fidelità di andata e ritorno: Soggetto, corpo, HTML body, mittente, destinatari e allegati sono tutti conservati tramite EML → MSG → EMl round-trips.
  • ** Nessun parser MIME esterno:** L’analisi EML è implementata in modo nativo all’interno della libreria non richiede dipendenza da System.Net.Mail.

Dove viene utilizzata la conversione EML

  • ** Format bridging:** Ricevere e-mail come EML dai server di posta elettronica e convertire in MSG per lo storage compatibile con Outlook.
  • ** Conformità agli standard:** Conversione dei file proprietari MSG in MIME per la consegna a qualsiasi trasporto di posta.
  • Normalizzazione dell’archivio: Normalizza un archivio misto di file .eml e .msg in un unico formato.
  • Flussi di lavoro di prova: Generare apparecchiature .eml nelle prove e verificare che sopravvivano al viaggio MSG senza perdita di dati.

Leggere argomento da un file MSG

Aprire un file MSG di Outlook da una stream e stampare l’oggetto non è necessario Microsoft Outlook.

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

Creare e salvare un messaggio MSG

Crea un’email completa con mittente, destinatario e allegato, poi scrivi in un file MSG.

using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Hello", "Body");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
using var attachmentStream = new MemoryStream("abc"u8.ToArray());
message.AddAttachment("note.txt", attachmentStream, "text/plain");
using var output = File.Create("hello.msg");
message.Save(output);

Convertire EML in MSG

Caricare un file standard .eml e salvarlo come Outlook .msg utilizzando il parser MIME integrato.

using System.IO;
using Aspose.Email.Foss.Msg;
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
using var msgOutput = File.Create("message.msg");
message.Save(msgOutput);
using var emlOutput = File.Create("roundtrip.eml");
message.SaveToEml(emlOutput);
  

Risorse di Supporto e Apprendimento

 Italiano