Enviar documento de Word en el cuerpo del correo electrónico usando C++

Los correos electrónicos son la principal fuente de comunicación a través de Internet y, en la mayoría de los casos, el diseño y el formato del correo electrónico son importantes. Sin embargo, la mayoría de los clientes de correo electrónico no brindan las opciones de formato mejoradas necesarias para diseñar contenido de correo electrónico de alta calidad. En tales casos, se puede utilizar un documento de Word bien formateado como cuerpo del correo electrónico. En este artículo, aprenderá cómo enviar un documento de Word como cuerpo del correo electrónico utilizando C++.

API de C++ para enviar documentos de Word en el cuerpo del correo electrónico

Para enviar un documento de Word en un cuerpo de correo electrónico, utilizaremos las API Aspose.Words for C++ y Aspose.Email for C++. El primero le permite generar, modificar y convertir archivos de Microsoft Word. Mientras que el último le permite crear, manipular y convertir archivos de Outlook. Usaremos Aspose.Words for C++ para convertir el documento de Word al formato MHTML y Aspose.Email for C++ para generar y enviar el correo electrónico. Puede instalar las API a través de NuGet o descargarlas directamente desde la sección Descargas.

PM> Install-Package Aspose.Words.Cpp
PM> Install-Package Aspose.Email.Cpp

Envío de un documento de Word en el cuerpo de un correo electrónico usando C++

Los siguientes son los pasos para enviar un documento de Word en un cuerpo de correo electrónico:

El siguiente código de ejemplo muestra cómo enviar un documento de Word como el cuerpo de un correo electrónico mediante C++.

// Rutas de directorio.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";

// Cargue el documento de Word usando la clase de documento Aspose.Words.
System::SharedPtr<Aspose::Words::Document> doc = System::MakeObject<Aspose::Words::Document>(sourceDataDir + u"Sample 1.docx");

// Guarde el documento en MemoryStream en formato MHTML.
System::SharedPtr<System::IO::MemoryStream> stream = System::MakeObject<System::IO::MemoryStream>();
doc->Save(stream, SaveFormat::Mhtml);

// Rebobine la secuencia hasta el principio para que Aspose.Email pueda leerla.
stream->set_Position(0);

// Crear una instancia de la clase MailMessage
System::SharedPtr<Aspose::Email::MailMessage> message = MailMessage::Load(stream, System::MakeObject<Aspose::Email::MhtmlLoadOptions>());

// Establecer desde la dirección de correo electrónico
message->set_From(u"your_from@email.com");

// Establecer en dirección de correo electrónico
message->set_To(u"your_to@email.com");

// Establecer asunto de correo electrónico
message->set_Subject(u"Aspose.Words + Aspose.Email MHTML Test Message");

// Crear una instancia de la clase SmtpClient
System::SharedPtr<Aspose::Email::Clients::Smtp::SmtpClient> client = System::MakeObject<Aspose::Email::Clients::Smtp::SmtpClient>();

// Configure el host, por ejemplo: smtp.gmail.com
client->set_Host(u"your_smtp.com");

// Establecer la dirección de correo electrónico
client->set_Username(u"your_email@email.com");

// Establecer la contraseña
client->set_Password(u"your_password");

// Establecer el puerto
client->set_Port(587);

// Establecer las opciones de seguridad
client->set_SecurityOptions(SecurityOptions::SSLExplicit);

// Enviar el mensaje de correo electrónico
client->Send(message);

Obtenga una licencia gratis

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

Conclusión

En este artículo, ha aprendido a enviar un documento de Word en el cuerpo de un correo electrónico utilizando C++. Para resumir, aprendió cómo convertir un documento de Word a formato MHTML usando Aspose.Words for C++ y cómo enviar MHTML como un correo electrónico usando Aspose.Email for C++. Ambas API ofrecen numerosas funciones para trabajar con MS Word y archivos de correo electrónico. Puede explorar estas API en detalle visitando su documentación oficial. Si tiene alguna pregunta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.

Ver también