Crear correos electrónicos de Outlook en C++

La automatización del correo electrónico es bastante popular en estos días para generar y enviar correos electrónicos automáticamente desde la web o las aplicaciones de escritorio. Se está utilizando para enviar notificaciones importantes, documentos, boletines y varios tipos de otros mensajes. Para desarrollar un sistema de correo electrónico automatizado, Aspose facilita a los desarrolladores su API de correo electrónico: Aspose.Email. Hoy, elegiré la variante C++ de Aspose.Email y le mostraré cómo crear correos electrónicos de Outlook usando C++.

Biblioteca de correo electrónico C++ para crear correos electrónicos de Outlook

Aspose.Email for C++ es una biblioteca nativa de C++ que le permite crear y enviar correos electrónicos de MS Outlook y otros formatos de correo electrónico populares. También le permite manipular objetos de Outlook como calendarios, tareas, contactos, etc. y convertir los archivos de correo electrónico existentes a otros formatos. Puede descargar el paquete de biblioteca completo desde aquí o instalarlo dentro de su aplicación C++ usando NuGet.

Crear un correo electrónico de Outlook usando C++

En primer lugar, veamos cómo crear un mensaje de correo electrónico simple y guardarlo en un formato de correo electrónico como MSG, EML y EMLX. Los siguientes son los pasos para crear un mensaje de correo electrónico usando Aspose.Email for C++.

  • Cree una instancia de la clase MailMessage.
  • Configure las propiedades del mensaje, como Para, De y Cuerpo.
  • Guarde el mensaje de correo electrónico usando el método MailMessage->Save().

El siguiente ejemplo de código muestra cómo crear un mensaje de Outlook en un formato de correo electrónico particular usando C++.

// Crear una nueva instancia de la clase MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Establecer asunto del mensaje, cuerpo HTML e información del remitente
message->set_Subject(u"New message created by Aspose.Email for .NET"); 
message->set_From(System::MakeObject<MailAddress>(L"from@domain.com", L"Sender Name", false));
message->set_Body(System::String(u"This is a plain text."));
// Agregar destinatarios TO y Agregar destinatarios CC
message->get_To()->Add(System::MakeObject<MailAddress>(L"to1@domain.com", L"Recipient 1", false));
message->get_To()->Add(System::MakeObject<MailAddress>(L"to2@domain.com", L"Recipient 2", false));
message->get_CC()->Add(System::MakeObject<MailAddress>(L"cc1@domain.com", L"Recipient 3", false));
message->get_CC()->Add(System::MakeObject<MailAddress>(L"cc2@domain.com", L"Recipient 4", false));

// Guardar mensaje en formatos EML, EMLX, MSG
message->Save(u"CreateNewMailMessage_out.eml", SaveOptions::get_DefaultEml());
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode()); 

Cree un correo electrónico de Outlook con cuerpo HTML usando C++

En el ejemplo anterior, hemos creado un correo electrónico con texto sin formato. Sin embargo, la mayoría de los correos electrónicos en estos días contienen un cuerpo HTML para una buena presentación del contenido del correo electrónico. En tal caso, puede configurar Aspose.Email y establecer el cuerpo del correo electrónico basado en HTML. Para esto, simplemente use MailMessage->setHtmlBody(System::String) y pásele el contenido HTML. El siguiente ejemplo de código muestra cómo crear un correo electrónico con un cuerpo HTML usando C++.

// Crear una nueva instancia de la clase MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Establecer asunto del mensaje, cuerpo HTML e información del remitente
message->set_Subject(u"New message created by Aspose.Email for .NET");
message->set_From(System::MakeObject<MailAddress>(L"from@domain.com", L"Sender Name", false));
message->set_HtmlBody(System::String(u"<b>This line is in bold.</b> <br/> <br/>") + u"<font color=blue>This line is in blue color</font>");
// Agregar destinatarios TO y Agregar destinatarios CC
message->get_To()->Add(System::MakeObject<MailAddress>(L"to1@domain.com", L"Recipient 1", false)); 
message->get_CC()->Add(System::MakeObject<MailAddress>(L"cc1@domain.com", L"Recipient 3", false)); 

// Guardar mensaje en formatos EML, EMLX, MSG 
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode()); 

Establecer la codificación para el correo electrónico de Outlook usando C++

Aspose.Email for C++ también le permite definir el estándar de codificación para guiar al navegador sobre cómo manejar los caracteres en el correo electrónico. Para configurar el estándar de codificación particular, puede usar el método MailMessage->setBodyEncoding(System::Text::Encoding). El siguiente ejemplo de código muestra cómo crear un correo electrónico con una codificación particular usando C++.

// Crear una nueva instancia de la clase MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Establecer asunto del mensaje, cuerpo HTML e información del remitente
message->set_Subject(u"New message created by Aspose.Email for .NET");
message->set_From(System::MakeObject<MailAddress>(L"from@domain.com", L"Sender Name", false));
message->set_Body(System::String(u"This is a plain text."));
message->set_BodyEncoding(System::Text::Encoding::get_ASCII());
// Agregar destinatarios TO y Agregar destinatarios CC
message->get_To()->Add(System::MakeObject<MailAddress>(L"to1@domain.com", L"Recipient 1", false)); 
message->get_CC()->Add(System::MakeObject<MailAddress>(L"cc1@domain.com", L"Recipient 3", false)); 

// Guardar mensaje en formatos EML, EMLX, MSG
message->Save(u"CreateNewMailMessage_out.eml", SaveOptions::get_DefaultEml()); 
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());

Guardar mensaje de Outlook como borrador usando C++

También puede guardar el mensaje de correo electrónico de Outlook recién creado como borrador. Los siguientes son los pasos para realizar esta operación:

El siguiente ejemplo de código muestra cómo crear un correo electrónico como borrador usando C++.

// Crear una nueva instancia de la clase MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Establecer asunto del mensaje, cuerpo HTML e información del remitente
message->set_Subject(u"New message created by Aspose.Email for .NET");
message->set_From(System::MakeObject<MailAddress>(L"from@domain.com", L"Sender Name", false));
message->set_Body(System::String(u"This is a plain text.")); 
// Agregar destinatarios TO y Agregar destinatarios CC
message->get_To()->Add(System::MakeObject<MailAddress>(L"to1@domain.com", L"Recipient 1", false)); 
message->get_CC()->Add(System::MakeObject<MailAddress>(L"cc1@domain.com", L"Recipient 3", false));

// Cree una instancia de tipo MapiMessage desde MailMessage, configure el indicador de mensaje como no enviado (estado de borrador) y guárdelo
System::SharedPtr<MapiMessage> mapiMsg = MapiMessage::FromMailMessage(message);
mapiMsg->SetMessageFlags(Aspose::Email::Mapi::MapiMessageFlags::MSGFLAG_UNSENT);

// Guardar mensaje en formatos EML, EMLX, MSG MHTML 
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());

demostraciones en vivo

Conclusión

En este artículo, le mostré cómo crear correos electrónicos de Outlook dentro de las aplicaciones de C++. Los ejemplos de código C++ demostraron cómo crear correos electrónicos MSG, EML o EMLX con cuerpo de texto/HTML o una codificación particular. Puede explorar más sobre cómo manejar los correos electrónicos de Outlook y otros elementos usando Aspose.Email for C++.

Ver también