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
- Leer mensajes de correo electrónico usando C++
- Extraiga la información del encabezado de los mensajes de correo electrónico
- Decodificar valores de encabezado de mensaje de correo electrónico
- Obtenga una licencia gratis
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.
- Cargue el archivo de correo electrónico usando la clase MailMessage.
- Lea el contenido del correo electrónico utilizando MailMessage->get_From(), MailMessage->get_To(), MailMessage->get_Subject(), MailMessage->get_Body(), etc. métodos.
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());
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.
- Cargue el archivo de correo electrónico utilizando la clase MailMessage.
- Obtenga el enumerador de encabezado usando el método MailMessage->get_Headers()->GetEnumerator().
- Recorra los encabezados y recupere el encabezado usando el método MailMessage->get_Headers()->Get (int32\t index).
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.
- Cargue el archivo de correo electrónico usando la clase MailMessage.
- Decodifique el valor del encabezado usando el método MailMessage->get_Headers()->GetDecodedValue (System::String name).
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.