
HTML est un format largement utilisé et facilement accessible qui peut être visualisé par une large gamme de plateformes, de navigateurs web, y compris des ordinateurs de bureau et des 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 d’accès et de visualisation avec le temps. Ainsi, convertir des fichiers MSG ou EML en HTML les rend plus faciles à visualiser, notamment 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 indexé et consultable.
Cet article présente un algorithme pour convertir rapidement et facilement des fichiers MSG ou EML au format HTML en utilisant C#, peu importe l’objectif 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 aborde les sujets suivants :
- API C# pour convertir des fichiers EML/MSG en HTML
- Convertir des fichiers EML/MSG en HTML en enregistrant les images séparément
- Convertir des fichiers EML/MSG en HTML en intégrant les images dans le HTML
- Enregistrer le HTML avec un en-tête
API C# pour convertir des fichiers EML/MSG en HTML
Pour la conversion de fichiers EML/MSG en HTML, nous allons utiliser Aspose.Email pour .NET. C’est une API de traitement des e-mails qui vous permet de manipuler les e-mails et de travailler avec des formats de fichiers de clients de messagerie populaires tels que Thunderbird, Outlook, etc. Vous pouvez télécharger la DLL de l’API ou l’installer depuis NuGet en utilisant la commande suivante :
PM> Install-Package Aspose.Email
Convertir des fichiers EML/MSG en HTML en enregistrant 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 enregistrer le fichier HTML cible avec les images dans un dossier séparé :

Utilisez l’exemple de code suivant pour convertir un message email au format MSG ou EML en un fichier HTML avec des images, qui sont enregistré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 un délégué pour l’événement SaveResourceHandler de HtmlSaveOptions.
- Crée un répertoire cible pour les ressources à l’intérieur du délégué s’il n’existe pas déjà.
- Enregistre chaque ressource dans un fichier avec un nom de fichier à l’intérieur du délégué en fonction du 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 enregistrer l’email au format HTML.
Convertir des fichiers EML/MSG en HTML en intégrant les images dans le HTML
Parfois, vous pouvez préférer convertir des fichiers EML/MSG en HTML en conservant les images intégrées à l’intérieur du HTML.

Le snippet de code suivant démontre comment convertir un fichier MSG ou EML en format HTML en C# et enregistrer les images à l’intérieur du 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 enregistré au format 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 enregistrer l’email au format HTML.
Enregistrer le HTML avec un en-tête
En tant que variante optionnelle, vous pouvez enregistrer un HTML avec un en-tête. Le snippet de code suivant démontre comment enregistrer un HTML avec un en-tête en C# :
En conséquence, un en-tête de texte sera ajouté au HTML cible :

Conclusion
Pour résumer, dans cet article, vous venez d’apprendre la commodité du format HTML pour archiver et gérer vos fichiers et comment exécuter la conversion d’EML ou de MSG en C# en utilisant la bibliothèque Aspose.Email pour .NET. Vous avez pu constater à quel point le processus de conversion est rapide et facile, juste avec quelques lignes de code. Si vous avez des questions, n’hésitez pas à écrire à notre forum de support gratuit. Vous pouvez également en savoir plus sur Aspose.Email pour .NET, ses fonctionnalités et ses services dans notre documentation.