Converti email in HTML in C# .NET

HTML è un formato ampiamente utilizzato e facilmente accessibile che può essere visualizzato da una vasta gamma di piattaforme, browser web, inclusi computer desktop e dispositivi mobili. Al contrario, i file EML e MSG potrebbero richiedere software specifici o client di posta elettronica per essere visualizzati, il che può renderli più difficili da accedere e visualizzare nel tempo. Pertanto, convertire file MSG o EML in HTML li rende più facili da visualizzare, in particolare per i destinatari che potrebbero non avere client di posta elettronica o software compatibili.

Inoltre, i file HTML sono più facili da archiviare e rimangono in un formato ricercabile e indicizzato.

Questo articolo presenta un algoritmo per convertire velocemente e facilmente file MSG o EML in formato HTML utilizzando C#, indipendentemente dallo scopo sottostante. Il nostro metodo affidabile garantisce che il contenuto dell’email, comprese le immagini incorporate, venga completamente preservato senza alcuna perdita. Ciò assicura che l’integrità dell’email venga mantenuta durante l’intero processo di conversione.

L’articolo tratta i seguenti argomenti:

API C# per convertire file EML/MSG in HTML

Per la conversione di file EML/MSG in HTML, utilizzeremo Aspose.Email per .NET. È un’API di elaborazione email che ti consente di manipolare le email e lavorare con i formati di file dei client di posta elettronica più popolari come Thunderbird, Outlook, ecc. Puoi scaricare il DLL dell’API o installarlo da NuGet utilizzando il seguente comando:

PM> Install-Package Aspose.Email

Converti file EML/MSG in HTML salvando le immagini separatamente

Un tipico file MSG ha la seguente visualizzazione:

Visualizzazione file MSG

Con la nostra API puoi impostare qualsiasi directory sul tuo dispositivo e salvare il file HTML di destinazione con le immagini in una cartella separata:

Visualizzazione file HTML

Utilizza il seguente esempio di codice per convertire un messaggio email in formato MSG o EML in un file HTML con immagini, che vengono salvate in una directory di destinazione. Il codice esegue i seguenti passaggi:

  1. Prima di tutto, specifica i percorsi di origine e destinazione per il file MSG/EML di origine e il file HTML, rispettivamente, così come la directory di destinazione per le risorse.
  2. Carica il file MSG o EML utilizzando il metodo MailMessage.Load.
  3. Crea un oggetto HtmlSaveOptions e imposta la proprietà ResourceRenderingMode su SaveToFile.
  4. Definisci un delegato per l’evento SaveResourceHandler di HtmlSaveOptions.
  5. Crea una directory di destinazione per le risorse all’interno del delegato se non esiste già.
  6. Salva ogni risorsa in un file con un nome file all’interno del delegato basato sul tipo di contenuto della risorsa.
  7. Chiama il metodo Save dell’istanza MailMessage, passando il nome del file HTML di destinazione e l’istanza HtmlSaveOptions per salvare l’email in formato HTML.

Converti file EML/MSG in HTML salvando le immagini all’interno di HTML

A volte potresti preferire convertire file EML/MSG in HTML mantenendo le immagini incorporate all’interno di HTML.

Immagine all'interno di HTML in un editor di testo

Il seguente frammento di codice dimostra come convertire un file MSG o EML in formato HTML in C# e salvare le immagini all’interno di HTML. Il codice esegue i seguenti passaggi:

  1. Definisce i percorsi di origine e destinazione per il file email e l’output HTML.
  2. Carica il file MSG o EML utilizzando il metodo MailMessage.Load.
  3. Crea una nuova istanza della classe HtmlSaveOptions, che ti consente di configurare come l’email viene salvata come HTML.
  4. Configura l’istanza HtmlSaveOptions per incorporare le risorse, comprese le immagini, direttamente nell’HTML.
  5. Chiama il metodo Save dell’istanza MailMessage, passando il nome del file HTML di destinazione e l’istanza HtmlSaveOptions per salvare l’email in formato HTML.

Salvare HTML con un’intestazione

Come variante opzionale, puoi salvare un HTML con un’intestazione. Il seguente frammento di codice dimostra come salvare un HTML con un’intestazione in C#:

Di conseguenza, un’intestazione di testo verrà aggiunta all’HTML di destinazione:

Intestazione di testo

Conclusione

In sintesi, da questo articolo hai appena appreso la comodità del formato HTML per archiviare e gestire i tuoi file e come eseguire la conversione da EML o MSG in C# utilizzando la libreria Aspose.Email per .NET. Puoi vedere quanto sia veloce e facile il processo di conversione con poche righe di codice. In caso di domande, non esitare a scrivere al nostro forum di supporto gratuito. Puoi anche saperne di più su Aspose.Email per .NET, le sue caratteristiche e funzionalità dalla nostra documentazione.

Vedi anche