Convert email to HTML in Java

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 possono richiedere software specifici o client email 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 email 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 rapidamente e facilmente file MSG o EML in formato HTML utilizzando Java, indipendentemente dallo scopo sottostante. Il nostro metodo affidabile garantisce che il contenuto dell’email, comprese le immagini incorporate, sia completamente conservato senza alcuna perdita. Ciò garantisce che l’integrità dell’email sia mantenuta durante l’intero processo di conversione.

L’articolo tratta i seguenti argomenti:

Java API per convertire file EML/MSG in HTML

Per svolgere il compito di conversione di file EML/MSG in HTML, utilizzeremo Aspose.Email per Java. Questa API per l’elaborazione delle email consente agli utenti di gestire le email e lavorare con i formati di file dei client email più popolari come Thunderbird, Outlook e altri. Per acquisire l’API, è possibile scaricarla o installarla dal nostro repository.

Convertire file EML/MSG in HTML salvando le immagini separatamente

Un file MSG tipico 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

Il frammento di codice sottostante dimostra il processo di conversione di 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 sorgente 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. Definisce un metodo invoke per il SaveResourceHandler di HtmlSaveOptions.
  5. Crea una directory di destinazione per le risorse all’interno del metodo invoke se non esiste già.
  6. Salva ogni risorsa in un file con un nome di file all’interno del metodo invoke 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.
// MSG or EML filename
String msgFileName = pathCombine(sourcePath, "A Day in the Park.msg");
// target HTML
String htmlFileName = pathCombine(targetPath, "A Day in the Park.html");
// target directory to save images
String resourceDir = pathCombine(targetPath, "A Day in the Park");
// Load MSG or EML
MailMessage msg = MailMessage.load(msgFileName);
// Create HTML save options
HtmlSaveOptions htmlSaveOptions = new HtmlSaveOptions();
htmlSaveOptions.setResourceRenderingMode(ResourceRenderingMode.SaveToFile);
htmlSaveOptions.setSaveResourceHandler(new SaveResourceHandler() {
@Override
public void invoke(AttachmentBase attachment, String[] resourceFileName) {
resourceFileName[0] = pathCombine(resourceDir, attachment.getContentType().getName());
attachment.save(resourceFileName[0]);
}
});
msg.save(htmlFileName, htmlSaveOptions);

Convertire 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 frammento di codice sottostante dimostra come convertire un file MSG o EML in formato HTML in Java 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 di 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.
// MSG or EML filename
String msgFileName = pathCombine(sourcePath, "A Day in the Park.msg");
// target HTML
String htmlFileName = pathCombine(targetPath, "A Day in the Park.html");
// Load MSG or EML
MailMessage msg = MailMessage.load(msgFileName);
// Create HTML save options
HtmlSaveOptions htmlSaveOptions = new HtmlSaveOptions();
htmlSaveOptions.setResourceRenderingMode(ResourceRenderingMode.EmbedIntoHtml);
msg.save(htmlFileName, htmlSaveOptions);

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 Java:

// Create HTML save options
HtmlSaveOptions htmlSaveOptions = new HtmlSaveOptions();
htmlSaveOptions.setResourceRenderingMode(ResourceRenderingMode.EmbedIntoHtml);
htmlSaveOptions.setHtmlFormatOptions(HtmlFormatOptions.WriteHeader);

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 l’archiviazione e la gestione dei tuoi file e come eseguire la conversione da formati EML o MSG in HTML in Java utilizzando la libreria Aspose.Email per Java. Puoi vedere quanto è rapido e facile il processo di conversione con solo poche righe di codice. Complessivamente, la nostra API è un’ottima soluzione per la gestione e l’elaborazione delle email in applicazioni basate su Java.

Se hai domande, non esitare a scrivere al nostro forum di supporto gratuito. Puoi anche saperne di più su Aspose.Email per Java, le sue caratteristiche e funzionalità dalla nostra documentazione.

Vedi Anche