
EML est une extension de fichier pour un message électronique enregistré dans un fichier au format standard MIME RFC 822 pris en charge par Outlook, Outlook Express, Windows Live Mail ou Thunderbird. De plus, le format de fichier EML est un format de fichier MIME (rfc822) en texte brut pour le stockage des e-mails. À l’autre extrémité, MSG est un format binaire de fichier composé basé sur l’interface MAPI Outlook de Microsoft. De plus, le format de fichier Outlook Item MSG (. msg) est une syntaxe permettant de stocker un seul objet Message, tel qu’un e-mail, un rendez-vous, un contact, une tâche, etc., dans un fichier.
Dans cet article, nous allons discuter des étapes à suivre pour convertir par programmation des fichiers EML au format MSG à l’aide de l’API REST.
- API de traitement des e-mails
- Convertir EML en MSG en C#
- Conversion EML vers MSG à l’aide de la commande cURL
API de traitement des e-mails
Aspose.Email Cloud est une API REST offrant les fonctionnalités de création, de manipulation et de rendu des formats de courrier électronique courants (Outlook EML, MSG, fichiers iCalendar et VCard) vers d’autres formats de fichiers pris en charge. Vous bénéficiez des fonctionnalités permettant de travailler avec l’en-tête, l’adresse de l’expéditeur, le contenu inclus dans le message ou de traiter les pièces jointes des courriers électroniques comme les fichiers, les photos, les documents et bien plus encore. En même temps, implémentez le traitement des cartes de contact (Operate VCard) ou traitez le calendrier via iCalendar Support dans vos applications.
Afin de faciliter la tâche des développeurs, nous avons créé des wrappers autour des API Cloud, afin que vous obteniez toutes les fonctionnalités directement dans votre IDE préféré. Avant de continuer, nous vous recommandons de visiter le lien suivant pour en savoir plus sur comment installer les SDK Aspose.Cloud.
Convertir EML en MSG en C#
Veuillez suivre les étapes ci-dessous pour répondre à vos besoins :
- Tout d’abord, créez 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 et téléchargez-le sur le stockage cloud Méthode UploadFile(…)
- Troisièmement, créez une instance de EmailGetAsFileRequest en transmettant le fichier d’entrée et le format résultant
- Utilisez maintenant l’API EmailGetAsFile pour convertir le fichier EML disponible dans le stockage Cloud au format MSG
- 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 MSG résultant
string resultantFile = "converted.msg";
// format du fichier résultant
string toFormat = "Msg";
try
{
// lire l'EML source pour diffuser l'objet
using (var file = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + name))
{
// télécharger le fichier EML source vers le stockage Cloud
emailApi.CloudStorage.File.UploadFile(new Aspose.Email.Cloud.Sdk.Model.UploadFileRequest(name, file));
// créer une instance EmailGetAsFileRequest en transmettant le fichier d'entrée et le format résultant
var convertRequest = new EmailGetAsFileRequest(name, toFormat);
// Effectuer l'opération de conversion
var response = emailApi.Email.GetAsFile(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 MSG !");
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();
}
Les fichiers d’exemple utilisés dans l’exemple ci-dessus peuvent être téléchargés à partir de sample.eml et converted.msg.
Si vous devez charger le fichier à partir du lecteur local et effectuer la conversion, essayez d’utiliser l’API EmailConvert.
Conversion EML vers MSG à l’aide de la commande cURL
Comme Aspose.Email Cloud est développé selon l’architecture REST, il est facilement accessible via les commandes cURL. Utilisez l’application 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. Pour plus de détails, veuillez consulter Comment obtenir un jeton JWT à l’aide d’un ID client et d’une clé secrète client.
Une fois que nous avons le jeton JWT, veuillez utiliser la commande suivante pour convertir le fichier EML disponible dans le stockage Cloud au format MSG et enregistrer la sortie sur le disque local. À des fins de conversion, l’API EmailGetAsFile est utilisée.
curl -X GET "https://api.aspose.cloud/v4.0/email/as-file?fileName=sample.eml&format=Msg" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.msg
Conclusion
Dans cet article, nous avons discuté des capacités d’Aspose.Email Cloud pour le traitement des formats de courrier électronique les plus courants. Plus précisément, nous avons discuté de la conversion du fichier EML en MSG à l’aide de la commande C# .NET et cURL. Néanmoins, les SDK Cloud sont développés conformément à la licence MIT et vous pouvez télécharger le code source complet 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.