Leer mensajes de correo electrónico usando C++

Los correos electrónicos son una fuente primaria de comunicación a través de Internet. Es posible que se encuentre en escenarios en los que desee que sus aplicaciones lean archivos EML y MSG y agreguen su contenido a algún archivo o realicen alguna otra operación en ellos. Con ese fin, este artículo le enseñará cómo leer mensajes de correo electrónico usando C++.

API de C++ para leer mensajes de correo electrónico

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 admite la lectura de archivos de correo electrónico EML y MSG. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.

PM> Install-Package Aspose.Email.Cpp

Leer mensajes de correo electrónico usando C++

Los siguientes son los pasos para leer mensajes de correo electrónico.

El siguiente es el código de muestra para leer mensajes de correo electrónico usando C++.

// Cree una instancia de MailMessage cargando un archivo EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Obtener la información del remitente
System::Console::WriteLine(u"From:");
System::Console::WriteLine(message->get_From());

// Obtener la información de los destinatarios
System::Console::WriteLine(u"To:");
System::Console::WriteLine(message->get_To());

// Obtener el tema
System::Console::WriteLine(u"Subject:");
System::Console::WriteLine(message->get_Subject());

// Obtener el cuerpo HTML
System::Console::WriteLine(u"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());

// Obtener el cuerpo del texto
System::Console::WriteLine(u"TextBody:");
System::Console::WriteLine(message->get_Body());
Salida generada por el código de muestra

Salida generada por el código de muestra

Extraiga la información del encabezado de los mensajes de correo electrónico

Los siguientes son los pasos para extraer la información del encabezado de los mensajes de correo electrónico.

El siguiente es el código de muestra para extraer la información del encabezado de los mensajes de correo electrónico usando C++.

// Cree una instancia de MailMessage cargando un archivo EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Imprime todos los encabezados
int32_t index = 0;

{
    auto header_enumerator = message->get_Headers()->GetEnumerator();
    decltype(header_enumerator->get_Current()) header;
    while (header_enumerator->MoveNext() && (header = header_enumerator->get_Current(), true))
    {
        System::Console::Write(header + u" - ");
        System::Console::WriteLine(message->get_Headers()->Get(index++));
    }
}

Decodificar valores de encabezado de mensaje de correo electrónico

Los siguientes son los pasos para decodificar los valores de encabezado en los mensajes de correo electrónico.

El siguiente es el código de muestra para decodificar valores de encabezado en mensajes de correo electrónico usando C++.

// Cree una instancia de MailMessage cargando un archivo EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());

// Obtenga el valor decodificado del encabezado
System::String decodedValue = message->get_Headers()->GetDecodedValue(u"Thread-Topic");

// Imprime el valor
System::Console::WriteLine(decodedValue);

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 a leer mensajes de correo electrónico usando C++. Específicamente, ha aprendido a leer el contenido del correo electrónico y la información del encabezado. También ha visto cómo decodificar valores de encabezado usando Aspose.Email for C++. Además de leer mensajes de correo electrónico, la API proporciona muchas más funciones para trabajar con correos electrónicos. 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