
HTML est un format largement utilisé et facilement accessible qui peut être visualisé par un large éventail de plateformes, de navigateurs web, y compris les ordinateurs de bureau et les appareils mobiles. En revanche, les fichiers EML et MSG peuvent nécessiter des logiciels ou des clients de messagerie spécifiques pour être visualisés, ce qui peut les rendre plus difficiles à accéder et à visualiser au fil du temps. Ainsi, convertir des fichiers MSG ou EML en HTML les rend plus faciles à visualiser, en particulier pour les destinataires qui peuvent ne pas avoir de clients de messagerie ou de logiciels compatibles.
De plus, les fichiers HTML sont plus faciles à archiver et restent dans un format indexable et consultable.
Cet article présente un algorithme pour convertir rapidement et facilement des fichiers MSG ou EML au format HTML en utilisant Java, quel que soit le but sous-jacent. Notre méthode fiable garantit que le contenu de l’email, y compris les images intégrées, est entièrement préservé sans aucune perte. Cela garantit que l’intégrité de l’email est maintenue tout au long du processus de conversion.
L’article couvre les sujets suivants :
- Java API pour convertir des fichiers EML/MSG en HTML
- Convertir des fichiers EML/MSG en HTML en sauvegardant les images séparément
- Convertir des fichiers EML/MSG en HTML en sauvegardant les images à l’intérieur de HTML
- Sauvegarder HTML avec un en-tête
Java API pour convertir des fichiers EML/MSG en HTML
Pour accomplir la tâche de conversion des fichiers EML/MSG en HTML, nous utiliserons Aspose.Email pour Java. Cette API de traitement des emails permet aux utilisateurs de gérer des emails et de travailler avec des formats de fichiers de clients de messagerie populaires tels que Thunderbird, Outlook, et d’autres. Pour acquérir l’API, il est possible de télécharger ou installer à partir de notre dépôt.
Convertir des fichiers EML/MSG en HTML en sauvegardant les images séparément
Un fichier MSG typique a la vue suivante :

Avec notre API, vous pouvez définir n’importe quel répertoire sur votre appareil et sauvegarder le fichier HTML cible avec des images dans un dossier séparé :

Le code ci-dessous démontre le processus de conversion d’un message email au format MSG ou EML en un fichier HTML avec des images, qui sont sauvegardées dans un répertoire cible. Le code effectue les étapes suivantes :
- Tout d’abord, spécifie les chemins source et cible pour le fichier MSG/EML source et le fichier HTML, respectivement, ainsi que le répertoire cible pour les ressources.
- Charge le fichier MSG ou EML en utilisant la méthode MailMessage.load.
- Crée un objet HtmlSaveOptions et définit la propriété ResourceRenderingMode sur SaveToFile.
- Définit une méthode
invoke
pour le SaveResourceHandler des HtmlSaveOptions. - Crée un répertoire cible pour les ressources à l’intérieur de la méthode
invoke
s’il n’existe pas déjà. - Sauvegarde chaque ressource dans un fichier avec un nom de fichier à l’intérieur de la méthode
invoke
basé sur le type de contenu de la ressource. - Appelle la méthode save de l’instance MailMessage, en passant le nom du fichier HTML cible et l’instance HtmlSaveOptions pour sauvegarder l’email au format 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); |
Convertir des fichiers EML/MSG en HTML en sauvegardant les images à l’intérieur de HTML
Parfois, vous pouvez préférer convertir des fichiers EML/MSG en HTML en conservant les images intégrées à l’intérieur de HTML.

Le code ci-dessous démontre comment convertir un fichier MSG ou EML en format HTML en Java et sauvegarder les images à l’intérieur de HTML. Le code effectue les étapes suivantes :
- Définit les chemins source et cible pour le fichier email et la sortie HTML.
- Charge le fichier MSG ou EML en utilisant la méthode MailMessage.load.
- Crée une nouvelle instance de la classe HtmlSaveOptions, qui vous permet de configurer comment l’email est sauvegardé en tant que HTML.
- Configure l’instance HtmlSaveOptions pour intégrer les ressources, y compris les images, directement dans le HTML.
- Appelle la méthode save de l’instance MailMessage, en passant le nom du fichier HTML cible et l’instance HtmlSaveOptions pour sauvegarder l’email au format 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); |
Sauvegarder HTML avec un en-tête
En tant que variante optionnelle, vous pouvez sauvegarder un HTML avec un en-tête. Le code ci-dessous démontre comment sauvegarder un HTML avec un en-tête en Java :
// Create HTML save options | |
HtmlSaveOptions htmlSaveOptions = new HtmlSaveOptions(); | |
htmlSaveOptions.setResourceRenderingMode(ResourceRenderingMode.EmbedIntoHtml); | |
htmlSaveOptions.setHtmlFormatOptions(HtmlFormatOptions.WriteHeader); |
En conséquence, un en-tête de texte sera ajouté au HTML cible :

Conclusion
Pour résumer, à partir de cet article, vous avez appris sur la commodité du format HTML pour archiver et gérer vos fichiers et comment exécuter la conversion des formats EML ou MSG en HTML en utilisant la bibliothèque Aspose.Email pour Java. Vous avez pu voir à quel point le processus de conversion est rapide et facile avec quelques lignes de code. Dans l’ensemble, notre API est une excellente solution pour la gestion et le traitement des emails dans des applications basées sur Java.
Si vous avez des questions, n’hésitez pas à écrire sur notre forum de support gratuit. Vous pouvez également en savoir plus sur Aspose.Email pour Java, ses fonctionnalités et services dans notre documentation.