Convert EML to HTML
Convert EML to HTML
Per integrare il contenuto delle email nelle applicazioni web, la conversione da EML a HTML è la scelta giusta, facilitando una presentazione visivamente attraente delle email.
Per convertire EML in HTML, saranno necessarie le seguenti classi:
- MailMessage la classe è usata per creare un oggetto che rappresenta un messaggio e-mail. Consente di accedere alle proprietà del messaggio, come oggetto, corpo, mittente e indirizzi dei destinatari, ecc. Con i suoi metodi, è possibile creare, caricare e analizzare, modificare, salvare le email o eseguire altre manipolazioni su di esse.
- SaveOptions la classe fornisce opzioni per salvare i messaggi email in vari formati. Consente agli utenti di personalizzare il modo in cui i messaggi email vengono salvati in diversi formati. Con questa classe, gli utenti possono specificare opzioni per salvare allegati, intestazioni, metadati e proprietà dei messaggi email, impostare opzioni di codifica o scegliere se salvare i messaggi con crittografia o meno.
Nel seguente esempio di codice queste classi lavorano insieme per caricare un file EML esistente e specificare il formato del messaggio come EML. Successivamente, salvano il messaggio email caricato come file HTML utilizzando le opzioni di salvataggio HTML predefinite specificate:
- Usa il MailMessage.Load() metodo per caricare il file esistente in un oggetto MailMessage specificando il formato del messaggio.
- Salva l’oggetto MailMessage caricato come file HTML utilizzando il salva metodo. Utilizzare SaveOptions.DefaultHtml() per specificare le opzioni di salvataggio per il formato 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 fornisce il ResourceRenderingMode enumerazione che permette agli sviluppatori di manipolare le risorse in un file HTML. Nell’esempio di codice seguente, questo enum è usato per salvare le risorse in un file e inserire nell’HTML il tag ‘src’ con il percorso di questo file:
- Carica il messaggio email dal file sorgente utilizzando il MapiMessage.Load metodo.
- Crea un’istanza di HtmlSaveOptions con opzioni di rendering e risorse specificate.
- Salva il messaggio email caricato come file HTML nella posizione di destinazione utilizzando il Salva metodo con il parametro 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
In alcuni casi, è necessario incorporare risorse, come immagini, direttamente nel file HTML per una distribuzione e presentazione senza interruzioni. Con Aspose.Email per .NET, è possibile ottenere facilmente questo risultato utilizzando il ResourceRenderingMode enumerazione:
- Carica il messaggio email dal file sorgente utilizzando il MapiMessage.Load metodo.
- Crea un nuovo HtmlSaveOptions oggetto e imposta la proprietà ResourceRenderingMode su EmbedIntoHtml.
- Salva il messaggio email caricato come file HTML utilizzando il Salva metodo, specificando il percorso del file di destinazione e passando l’oggetto HtmlSaveOptions come parametro per incorporare le risorse nel file HTML.
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.EmbedIntoHtml
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
Convert EML to ICS
Il seguente esempio di codice dimostra come estrarre i dati dell’evento del calendario da un file EML e salvarli in un file ICS separato per un ulteriore utilizzo o manipolazione.
// 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);
}
Personalizzazione
Aspose.Email per .NET fornisce strumenti per personalizzare i contenuti ICS (iCalendar) estratti dai file EML (Electronic Mail).
Customize the event details
Il seguente esempio di codice dimostra come impostare vari dettagli dell’appuntamento, come il riepilogo, la posizione e la descrizione. Il codice utilizza la Appointment classe che rappresenta appuntamenti o eventi del calendario in formato ICS (iCalendar). La classe fornisce proprietà e metodi per creare, modificare e gestire gli eventi del calendario programmaticamente.
// 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
Il seguente esempio di codice dimostra come creare un modello di ricorrenza settimanale per un appuntamento, dove l’appuntamento si verifica ogni 5 settimane di sabato. Il codice utilizza la Recurrence proprietà del Appointment classe che ottiene o imposta il modello di ricorrenza.
var pattern = new WeeklyRecurrencePattern(5, 7);
pattern. EndDate = new DateTime(2023, 8, 7);
appointment.Recurrence = pattern;
Add EML to MBOX
MBOX è un formato comunemente usato per archiviare più messaggi email in un unico file, rendendolo adatto per l’archiviazione e la migrazione delle email. Utilizzare il MboxrdStorageWriter classe per scrivere messaggi email in un file MBOX. Il seguente esempio di codice dimostra come eseguire questa operazione:
using (var message = MailMessage.Load("inputFile.eml")){
using (var writer = new MboxrdStorageWriter("output.mbox", false)){
writer.WriteMessage(message);
}
}
Convert EML to MHTML
Con Aspose.Email per .NET, è possibile convertire facilmente i file EML in formato MHTML per vari scopi come archiviazione, compatibilità, visualizzazione offline, ecc. Carica il messaggio email utilizzando il MailMessage.Load, quindi utilizzare il MhtSaveOptions classe come parametro per il MailMessage.Save metodo per specificare il formato del file di output quando si salva il messaggio come file separato:
// 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);
Il MhtSaveOptions la classe fornisce varie opzioni per personalizzare i file MHTML di output in base alle proprie esigenze:
-
Preserva la formattazione della data originale. È possibile scegliere di mantenere la formattazione originale dei messaggi email durante il processo di conversione:
saveOptions.PreserveOriginalDate = true; -
Imposta la codifica di output. È possibile specificare la codifica da utilizzare quando si scrivono i file MHTML di output:
saveOptions.OutputEncoding = Encoding.UTF8; -
Includi allegati. Questo può essere utile se si desidera preservare gli allegati durante la conversione delle email in formato MHTML:
saveOptions.SaveAttachments = true;
Convert EML to MSG
Che tu abbia bisogno di migrare dati email, archiviare messaggi o integrare con Microsoft Outlook, Aspose.Email fornisce soluzioni per raggiungere i tuoi obiettivi. I file MSG sono ampiamente utilizzati da Microsoft Outlook. Per la conversione da EML a MSG, utilizza il MailMessage.Load metodo per caricare il file EML esistente specificando come verrà caricato con EmlLoadOptions.
Il seguente esempio di codice dimostra come convertire i file EML in formato 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
Per convertire i file EML in formato Outlook Template (OFT), caricare il messaggio email esistente utilizzando il MailMessage.Load metodo e salvarlo con MailMessage.Save specificando le opzioni predefinite per salvare un messaggio in formato 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
Per convertire i file EML in formato Personal Storage Table (PST), caricare il messaggio utilizzando il MapiMessage.Load metodo, creare il file di output con il PersonalStorage.Create e aggiungere l’email alla cartella Posta in arrivo creata nel file di archiviazione utilizzando il 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
Gli sviluppatori possono facilmente convertire i file EML in formato Outlook Offline Storage Table (OST), consentendo l’integrazione con Microsoft Outlook. Il seguente esempio di codice dimostra come aggiungere un messaggio EML a un file 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);
}
Il EmlLoadOptions il parametro specifica opzioni aggiuntive per il caricamento dei file EML, come la preservazione dei formati dei messaggi incorporati, la rimozione delle firme e altro.
Convert EML to VCF
Aspose.Email per .NET offre la funzionalità di convertire i file EML in formato vCard (VCF), consentendo agli sviluppatori di estrarre le informazioni di contatto dai messaggi email. A tal fine, la libreria offre il GetAlternateViewContent metodo del MailMessage classe che consente agli sviluppatori di accedere a viste alternative all’interno dei messaggi email ed estrarre contenuti VCF incorporati nei file EML per ulteriori utilizzi:
// 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);
}