Convert EML to HTML
Convert EML to HTML
Pour intégrer le contenu des e‑mails dans des applications Web, la conversion EML en HTML est le choix idéal, facilitant une présentation visuellement attrayante des e‑mails.
Pour convertir un EML en HTML, vous aurez besoin des classes suivantes :
- MailMessage classe utilisée pour créer un objet représentant un message e‑mail. Elle permet d’accéder aux propriétés du message, telles que le sujet, le corps, l’expéditeur et les adresses des destinataires, etc. Grâce à ses méthodes, vous pouvez créer, charger et analyser, modifier, sauvegarder les e‑mails, ou effectuer d’autres manipulations avec ceux‑ci.
- SaveOptions classe qui offre des options pour enregistrer les messages e‑mail dans divers formats. Elle permet aux utilisateurs de personnaliser la manière dont les messages e‑mail sont sauvegardés dans différents formats. Avec cette classe, les utilisateurs peuvent spécifier des options pour enregistrer les pièces jointes, les en‑têtes, les métadonnées et les propriétés des messages e‑mail, définir les options d’encodage ou choisir d’enregistrer les messages avec ou sans chiffrement.
Dans l’exemple de code ci‑dessus, ces classes travaillent ensemble pour charger un fichier EML existant et spécifier le format du message comme EML. Ensuite, elles enregistrent le message e‑mail chargé en tant que fichier HTML en utilisant les options d’enregistrement HTML par défaut spécifiées :
- Utilisez le MailMessage.Load() méthode pour charger le fichier existant dans un objet MailMessage en spécifiant le format du message.
- Enregistrez l’objet MailMessage chargé en tant que fichier HTML en utilisant le enregistrer méthode. Utilisez SaveOptions.DefaultHtml() pour spécifier les options d’enregistrement du format HTML.
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
message.Save("output.html", SaveOptions.DefaultHtml);
Save EML Resources in a Separate File
Aspose.Email fournit le ResourceRenderingMode énumération permettant aux développeurs de manipuler les ressources dans un fichier HTML. Dans l’exemple de code ci‑dessus, cet enum est utilisé pour enregistrer les ressources dans un fichier et insérer dans le HTML la balise ‘src’ avec le chemin vers ce fichier :
- Chargez le message e‑mail depuis le fichier source en utilisant le MapiMessage.Load méthode.
- Créez une instance de HtmlSaveOptions avec les options de rendu et de ressources spécifiées.
- Enregistrez le message e‑mail chargé en tant que fichier HTML à l’emplacement cible en utilisant le Enregistrer méthode avec le paramètre HtmlSaveOptions.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
UseRelativePathToResources = true
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
Embed Resources to an HTML File
Dans certains cas, il est nécessaire d’incorporer des ressources, telles que des images, directement dans le fichier HTML pour une distribution et une présentation fluides. Avec Aspose.Email pour .NET, vous pouvez facilement y parvenir en utilisant le ResourceRenderingMode énumération :
- Chargez le message e‑mail depuis le fichier source en utilisant le MapiMessage.Load méthode.
- Créer un nouveau HtmlSaveOptions objet et définissez la propriété ResourceRenderingMode sur EmbedIntoHtml.
- Enregistrez le message e‑mail chargé en tant que fichier HTML en utilisant le Enregistrer méthode, en spécifiant le chemin du fichier cible et en passant l’objet HtmlSaveOptions comme paramètre pour incorporer des ressources dans le fichier HTML.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.EmbedIntoHtml
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
Convert EML to ICS
L’exemple de code suivant montre comment extraire les données d’événement de calendrier d’un fichier EML et les enregistrer dans un fichier ICS séparé pour une utilisation ou une manipulation ultérieure.
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, save it to a file
if (icsView != null)
{
File.WriteAllText("appointment.ics", icsView);
}
Personnalisation
Aspose.Email pour .NET fournit des outils pour personnaliser le contenu ICS (iCalendar) extrait des fichiers EML (courrier électronique).
Customize the event details
L’exemple de code suivant montre comment définir divers détails du rendez‑vous, tels que le résumé, le lieu et la description. Le code utilise le Appointment classe qui représente les rendez‑vous ou événements de calendrier au format ICS (iCalendar). La classe fournit des propriétés et méthodes pour créer, modifier et gérer les événements de calendrier programmaticalement.
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, load it to Appointment class object
var appointment = Appointment.Load(new MemoryStream(Encoding.UTF8.GetBytes(icsView)));
// Customize the event details
appointment.Summary = "Customized Event Summary";
appointment.Location = "Customized Location";
appointment.Description = "Customized Event Description";
// Add or modify attendees as needed
appointment.Attendees.Clear();
appointment.Attendees.Add("custom@example.com");
// Save the customized ICS content to a file
appointment.Save("customized_appointment.ics");
Create a recurrence pattern
L’exemple de code suivant montre comment créer un modèle de récurrence hebdomadaire pour un rendez‑vous, où le rendez‑vous a lieu toutes les 5 semaines le samedi. Le code utilise le Recurrence propriété du Appointment classe qui obtient ou définit le modèle de récurrence.
var pattern = new WeeklyRecurrencePattern(5, 7);
pattern. EndDate = new DateTime(2023, 8, 7);
appointment.Recurrence = pattern;
Add EML to MBOX
MBOX est un format couramment utilisé pour stocker plusieurs messages e‑mail dans un seul fichier, ce qui le rend adapté à l’archivage et à la migration d’e‑mail. Utilisez le MboxrdStorageWriter classe pour écrire des messages e‑mail dans un fichier MBOX. L’exemple de code suivant montre comment effectuer cette tâche :
using (var message = MailMessage.Load("inputFile.eml")){
using (var writer = new MboxrdStorageWriter("output.mbox", false)){
writer.WriteMessage(message);
}
}
Convert EML to MHTML
Avec Aspose.Email pour .NET, vous pouvez facilement convertir des fichiers EML au format MHTML pour diverses raisons telles que l’archivage, la compatibilité, la visualisation hors ligne, etc. Chargez le message e‑mail en utilisant le MailMessage.Load, puis utilisez le MhtSaveOptions classe comme paramètre de la MailMessage.Save méthode pour spécifier le format du fichier de sortie lors de l’enregistrement du message en tant que fichier séparé :
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
var mhtSaveOptions = new MhtSaveOptions;
message.Save("output.mhtml", mhtSaveOptions);
Le MhtSaveOptions classe qui offre diverses options pour personnaliser les fichiers MHTML de sortie afin de répondre à vos exigences spécifiques :
-
Conserver le format de date d’origine. Vous pouvez choisir de conserver le formatage d’origine des messages e‑mail pendant le processus de conversion :
saveOptions.PreserveOriginalDate = true; -
Définir l’encodage de sortie. Vous pouvez spécifier l’encodage à utiliser lors de l’écriture des fichiers MHTML de sortie :
saveOptions.OutputEncoding = Encoding.UTF8; -
Inclure les pièces jointes. Cela peut être utile si vous souhaitez conserver les pièces jointes lors de la conversion d’e‑mails en format MHTML :
saveOptions.SaveAttachments = true;
Convert EML to MSG
Que vous ayez besoin de migrer des données e‑mail, d’archiver des messages ou d’intégrer Microsoft Outlook, Aspose.Email fournit des solutions pour atteindre vos objectifs. Les fichiers MSG sont largement utilisés par Microsoft Outlook. Pour la conversion EML vers MSG, utilisez le MailMessage.Load méthode pour charger le fichier EML existant en précisant comment il sera chargé avec EmlLoadOptions.
L’exemple de code suivant montre comment convertir des fichiers EML au format MSG :
// Load mail message
using (var message = MailMessage.Load("sourceFile.eml", new EmlLoadOptions())){
// Save as MSG
var msgSaveOptions = new MsgSaveOptions;
message.Save("output.msg", MsgSaveOptions);
}
Convert EML to OFT
Pour convertir les fichiers EML au format Outlook Template (OFT), chargez le message e‑mail existant en utilisant le MailMessage.Load méthode et enregistrez-le avec MailMessage.Save en spécifiant les options par défaut pour enregistrer un message au format OFT :
// load the EML file to be converted
var message = MailMessage.Load("My File.eml");
// save EML as a OFT
message.Save("Saved File.oft", SaveOptions.DefaultOft);
Add EML to PST
Pour convertir les fichiers EML au format Personal Storage Table (PST), chargez le message en utilisant le MapiMessage.Load méthode, créez le fichier de sortie avec le PersonalStorage.Create et ajouter l’e‑mail au dossier Boîte de réception créé dans le fichier de stockage en utilisant le AddMessage:
using (var msg = MapiMessage.Load("sourceFile.eml", new EmlLoadOptions()))
{
using (var personalStorage = PersonalStorage.Create("outputFile.pst", FileFormatVersion.Unicode))
{
var inbox = personalStorage.RootFolder.AddSubFolder("Inbox");
inbox.AddMessage(msg);
}
}
Add EML to OST
Les développeurs peuvent facilement convertir les fichiers EML au format Outlook Offline Storage Table (OST), permettant l’intégration avec Microsoft Outlook. L’exemple de code suivant montre comment ajouter un message EML à un fichier OST :
using (var ost = PersonalStorage.FromFile("storage.ost"))
{
// Load the EML file
var msg = MapiMessage.Load("message.eml", new EmlLoadOptions());
// Add the EML message to the OST file
var folderInfo = ost.RootFolder.GetSubFolder("Inbox");
folderInfo.AddMessage(msg);
}
Le EmlLoadOptions Le paramètre spécifie des options supplémentaires pour le chargement des fichiers EML, telles que la préservation des formats de messages intégrés, la suppression des signatures, etc.
Convert EML to VCF
Aspose.Email pour .NET offre la fonctionnalité de convertir les fichiers EML en format vCard (VCF), permettant aux développeurs d’extraire les informations de contact des messages électroniques. À cette fin, la bibliothèque propose le GetAlternateViewContent méthode du MailMessage classe permettant aux développeurs d’accéder aux vues alternatives au sein des messages électroniques et d’extraire le contenu VCF incorporé dans les fichiers EML pour une utilisation ultérieure :
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/vcard" (VCF)
var vcfView = eml.GetAlternateViewContent("text/vcard");
// If an VCF view is found, save it to a file
if (vcfView != null)
{
File.WriteAllText("contact.vcf", vcfView);
}