
Microsoft Outlook et d’autres clients de messagerie courants utilisent EML(norme MIME RFC 822) comme format standard. EML est l’abréviation de courrier électronique ou courrier électronique. De même, il s’agit d’une extension de fichier pour un message électronique enregistré dans un fichier au format Internet Message Format pour les messages électroniques. Les fichiers EML contiennent généralement du texte ASCII brut pour le corps du message principal, les en-têtes et les hyperliens, ainsi que les pièces jointes. Cependant, le format EML présente une menace : il peut s’agir d’un courrier électronique de phishing et la pièce jointe peut : infecter votre ordinateur avec un logiciel malveillant si vous ouvrez la pièce jointe.
De plus, si nous enregistrons une copie hors ligne de ces fichiers, les logiciels malveillants peuvent facilement les affecter et les données peuvent être perdues. De plus, pour ouvrir les fichiers EML, nous avons besoin d’une application compatible (Microsoft Outlook 365, Microsoft Windows Mail, Mozilla Thunderbird, etc.).Une mesure préventive peut donc être sa conversion au format MHT.
- API de traitement de courrier électronique gratuite
- Conversion d’EML en MHT en C#
- Conversion d’EML en MHT à l’aide de cURL
API de traitement de courrier électronique gratuite
Aspose.Email Cloud est notre API primée offrant les capacités de créer, de manipuler et de transformer des formats de courrier électronique populaires en d’autres formats pris en charge. Créez donc votre propre solution de gestion de courrier électronique basée sur le cloud prenant en charge OAuth et envoyez des messages électroniques simples ou MIME avec ou sans pièces jointes. Accédez à l’API sur n’importe quelle plate-forme, y compris Windows, Linux, macOS et dans n’importe quel type d’application, c’est-à-dire bureau, mobile, Web, hybride, etc.
Pour utiliser directement l’API dans un langage de programmation, essayez d’utiliser notre SDK Cloud spécifique au langage, qui est un wrapper autour du SDK Cloud. Dans cet article, nous allons nous concentrer sur la conversion de fichiers EML au format MHT à l’aide de Aspose.Email Cloud SDK for .NET. Pour utiliser le SDK, vous devez disposer de l’un des frameworks .NET pris en charge (ou compatibles avec ceux pris en charge) :
- .NET Framework 2.0
- .NET Framework 4.5.2
- .NET Standard 2.0
- MonoAndroid 6.0
- Xamarin.iOS 1.0
- Xamarin.Mac 2.0
Installation
Pour utiliser le SDK Cloud, la première étape consiste à l’installer. Il est disponible en téléchargement sur NuGet et GitHub. Veuillez exécuter la commande suivante dans la fenêtre du terminal pour effectuer l’installation de NuGet :
nuget install Aspose.Email-Cloud
Lors de l’utilisation de .NET CLI :
dotnet add package Aspose.Email-Cloud
Si vous utilisez Visual Studio, le package peut également être installé à l’aide de la console du gestionnaire de packages. Veuillez exécuter la commande suivante :
PM> Install-Package Aspose.Email-Cloud

Image 1:- Aspose.Words NuGet package installed.
Gestionnaire de packages NuGet – Visual Studio
Une autre approche la plus simple consiste à installer le SDK via le gestionnaire de packages NuGet dans Visual Studio IDE.
- Ouvrez l’explorateur de solutions.
- Développez le projet et cliquez avec le bouton droit sur le dossier Packages dans votre solution.
- Sélectionnez l’option Gérer les packages NuGet…
- Cliquez sur l’onglet Parcourir et recherchez « Aspose.Email-Cloud »
- Cliquez sur le package Aspose.Email-Cloud, sélectionnez la version appropriée dans l’onglet de droite et cliquez sur le bouton Ajouter un package

Image 2:- Aspose.Words Package in NuGet Package Manager.
Abonnement au compte Cloud
Nos API ne sont accessibles qu’aux personnes autorisées, car les données stockées dans le stockage cloud sont accessibles via les API Cloud. L’abonnement est gratuit et aucun détail de paiement initial n’est requis. Effectuez jusqu’à 150 opérations de traitement de documents gratuites. Ainsi, une fois que vous êtes satisfait des capacités de l’API, vous pouvez envisager d’opter pour un abonnement de licence qui peut être aussi bas que 0,005 $ / appel API. Pour plus de détails, veuillez consulter Tarification.
Procédez maintenant à la création du compte en accédant au tableau de bord Aspose.Cloud. Aucune carte de crédit ou autre information de paiement n’est requise. Si vous avez un compte GitHub ou Google, inscrivez-vous simplement ou cliquez sur le bouton créer un nouveau compte et fournissez les informations requises. Connectez-vous maintenant au tableau de bord à l’aide des informations d’identification et développez la section Applications du tableau de bord et faites défiler vers le bas jusqu’à la section Informations d’identification du client pour voir les détails de l’ID client et du secret client.

Image 3 : Informations d’identification du client sur le tableau de bord Aspose.Cloud.
Conversion d’EML en MHT en C#
Veuillez suivre les étapes ci-dessous pour convertir le fichier EML au format MHT à l’aide de C# .NET.
- La première étape consiste à créer un objet de classe EmailCloud en transmettant les détails ClientID et Client Secret comme arguments
- Deuxièmement, lisez le fichier de courrier électronique source dans l’instance File.OpenRead
- Troisièmement, créez une instance de EmailConvertRequest tout en transmettant le format du fichier d’entrée, le format du fichier résultant et l’objet de flux contenant le fichier EML d’entrée
- Appelez maintenant la méthode Email.Convert(…) pour lancer l’opération de conversion
- Enfin, appelez la méthode personnalisée pour enregistrer le fichier résultant sur le lecteur local à l’aide de l’instance File.Create
// Pour des exemples complets et des fichiers de données, veuillez consulter
https://github.com/aspose-email-cloud/aspose-email-cloud-dotnet
// Obtenez les informations d'identification du client à partir de https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// créer une instance de l'API EmailCloud
var emailApi = new EmailCloud(clientSecret, clientID);
// nom du fichier source EML
string name = "sample.eml";
// nom du fichier MHT résultant
string resultantFile = "converted.mht";
// format du fichier de courrier électronique d'entrée
string fromFormat = "eml";
// format du fichier résultant
string toFormat = "Mhtml";
try
{
// lire l'EML source pour diffuser l'objet
using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
{
// créer une instance de demande EmailConvert en transmettant les formats d'entrée, de sortie et le flux de fichiers
var convertRequest = new EmailConvertRequest(fromFormat, toFormat, file);
// Effectuer l'opération de conversion
var response = emailApi.Email.Convert(convertRequest);
// imprimer un message de réussite si la conversion réussit
if (response != null && response.Equals("OK"))
{
// imprimer le message de réussite
Console.WriteLine("Successfully converted EML to MHT !");
Console.ReadKey();
}
// enregistrer le flux de fichiers résultant sur le lecteur local
saveToDisk(response, @"C:\Users\shahbnay\Downloads\" + resultantFile);
}
}catch (Exception ex)
{
// imprimer l'exception dans la console
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// méthode personnalisée pour enregistrer la sortie sur le lecteur système
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}

Image 4 : Aperçu de la conversion EML en MHT.
Les fichiers utilisés dans l’exemple ci-dessus peuvent être téléchargés à partir de sample.eml et converted.mht.
Conversion d’EML en MHT à l’aide de cURL
Étant donné que Aspose.Email Cloud est développé selon l’architecture REST, il est facilement accessible via les commandes cURL. Utilisez l’application de terminal/invite de commande pour accéder aux API. La première étape consiste donc à générer un jeton d’accès JWT basé sur les informations d’identification du client spécifiées sur le tableau de bord Aspose.Cloud. Veuillez exécuter la commande suivante pour générer le jeton JWT.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Nous allons maintenant aborder les étapes d’utilisation de la commande cURL pour convertir les fichiers .eml déjà disponibles dans le stockage Cloud au format MHTML. La sortie est enregistrée sur le système à l’aide du paramètre -o.
curl -X GET "https://api.aspose.cloud/v4.0/email/as-file?fileName=sample.eml&format=Mhtml" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o resultant.mht
Si vous devez effectuer la conversion du fichier .eml à télécharger à partir du lecteur local, essayez d’utiliser la commande cURL suivante :
curl -X PUT "https://api.aspose.cloud/v4.0/email/convert?fromFormat=Eml&toFormat=Mhtml" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d @sample.eml \
-o converted.mht
Conclusion
Dans cet article, nous avons mis en évidence les fonctionnalités de Aspose.Email Cloud pour le traitement des formats de courrier électronique courants. L’API vous permet de créer des applications de manipulation de courrier électronique pour appliquer des drapeaux rouges aux messages électroniques, appliquer des pièces jointes aux courriers électroniques ainsi que télécharger des pièces jointes aux courriers électroniques, et bien plus encore. Nous avons discuté des étapes à suivre pour effectuer la conversion des fichiers EML en MHT à l’aide de C# .NET et des commandes cURL. De plus, le SDK .NET Cloud est développé selon la licence MIT. Téléchargez-les et personnalisez-les gratuitement. Le code source complet est disponible sur GitHub.
Nous avons également fourni une vue Swagger des API Cloud afin que vous puissiez tester les API dans un navigateur Web. De plus, si vous rencontrez des problèmes ou si vous avez d’autres questions, n’hésitez pas à nous contacter via le forum d’assistance client gratuit.
Articles connexes
Nous vous recommandons également de visiter les liens suivants pour en savoir plus sur :