Convertir correo electrónico a HTML usando C++

En la actualidad, los correos electrónicos se encuentran entre los medios de comunicación más comunes en Internet. Como desarrolladores de software, ven una amplia variedad de requisitos de usuario y escenarios de uso. Uno de esos requisitos podría ser que desee incrustar el contenido del correo electrónico en las páginas web. Para tales casos, deberá convertir los correos electrónicos al formato HTML. En este artículo, aprenderá cómo convertir correos electrónicos MSG y EML a formato HTML o MHTML mediante programación usando C++.

API de C++ para convertir correos electrónicos a HTML

Aspose.Email for C++ es una biblioteca nativa de C++ para crear, manipular y enviar correos electrónicos sin necesidad de instalar Microsoft Outlook. La API también brinda la capacidad de convertir correos electrónicos a diferentes formatos, incluido HTML. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.

PM> Install-Package Aspose.Email.Cpp

Convertir correo electrónico a HTML usando C++

Convertir archivos de correo electrónico a HTML es muy sencillo con Aspose.Email for C++. En solo dos líneas de código, puede convertir un archivo de correo electrónico a formato HTML. Los siguientes son los pasos para convertir un archivo de correo electrónico a formato HTML usando C++.

El siguiente es el código de muestra para convertir archivos de correo electrónico a formato HTML.

// Cargar archivo de correo electrónico
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");

// Convertir correo electrónico a HTML
msg->Save(u"OutputDirectory\\EmailToHtml.html", Aspose::Email::SaveOptions::get_DefaultHtml());

Conversión de correo electrónico a MHTML usando C++

Similar a convertir un correo electrónico a HTML, puede convertir un archivo de correo electrónico a formato MHTML pasando Aspose::Email::SaveOptions::get_DefaultMhtml() como el segundo parámetro de MailMessage->Save ( System::String fileName, System::SharedPtr opciones) método. Los siguientes son los pasos para convertir un archivo de correo electrónico al formato MHTML.

El siguiente es el código de muestra para convertir archivos de correo electrónico al formato MHTML.

// Cargar archivo de correo electrónico
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.eml");

// Convertir correo electrónico a MHTML
msg->Save(u"OutputDirectory\\EmailToMhtml.mhtml", Aspose::Email::SaveOptions::get_DefaultMhtml());

Exportar correo electrónico a HTML con encabezado

De forma predeterminada, el HTML generado no incluye la información del encabezado del correo electrónico. Para exportar la información del encabezado, puede usar la clase HtmlSaveOptions. Los siguientes son los pasos para convertir archivos de correo electrónico a formato HTML con la información del encabezado incluida en el HTML resultante.

El siguiente es el código de muestra para convertir correos electrónicos a HTML con información de encabezado.

// Cargar archivo de correo electrónico
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");

// Crear una instancia de HtmlSaveOptions
System::SharedPtr<HtmlSaveOptions> saveOptions = System::MakeObject<HtmlSaveOptions>();

// Indica que se debe escribir la información del encabezado.
saveOptions->set_HtmlFormatOptions(HtmlFormatOptions::WriteHeader);

// Convertir correo electrónico a HTML
msg->Save(u"OutputDirectory\\EmailToHTWithHeader.html", saveOptions);

Conversión de correo electrónico a HTML con zona horaria personalizada

Aspose.Email for C++ le brinda la posibilidad de convertir correos electrónicos especificando una zona horaria personalizada. El archivo HTML resultante mostrará la hora en la zona horaria seleccionada. Los siguientes son los pasos para convertir archivos de correo electrónico a formato HTML con una zona horaria personalizada.

El siguiente es el código de muestra para convertir archivos de correo electrónico a formato HTML con una zona horaria personalizada usando C++.

// Cargar archivo de correo electrónico
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");

// Configure la hora local para la fecha del mensaje.
msg->set_TimeZoneOffset(System::TimeZone::get_CurrentTimeZone()->GetUtcOffset(System::DateTime::get_Now()));

// Crear una instancia de HtmlSaveOptions
System::SharedPtr<HtmlSaveOptions> saveOptions = System::MakeObject<HtmlSaveOptions>();

// Indica que se debe escribir la información del encabezado.
saveOptions->set_HtmlFormatOptions(HtmlFormatOptions::WriteHeader);

// Convertir correo electrónico a HTML
msg->Save(u"OutputDirectory\\EmailToHTMLWithCustomTimezone.html", saveOptions);

Obtenga una licencia gratis

Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Demo en vivo

Conclusión

En este artículo, ha aprendido cómo convertir archivos MSG y EML a formato HTML y MHTML usando C++. También ha visto cómo incluir información de encabezado en la salida HTML generada. Además, ha aprendido a personalizar la zona horaria del correo electrónico. Aspose.Email for C++ ofrece muchas más funciones para trabajar con archivos de correo electrónico. Puede explorar la API en detalle visitando la documentación oficial. Si tiene alguna pregunta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.

Ver también