Créer des e-mails Outlook en C++

L’automatisation des e-mails est très populaire ces jours-ci pour générer et envoyer des e-mails automatiquement à partir d’applications Web ou de bureau. Il est utilisé pour envoyer des notifications importantes, des documents, des newsletters et divers types d’autres messages. Afin de développer un système de messagerie automatisé, Aspose facilite les développeurs avec son API de messagerie - Aspose.Email. Aujourd’hui, je vais prendre la variante C++ de Aspose.Email et vous montrer comment créer des e-mails Outlook à l’aide de C++.

Bibliothèque de messagerie C++ pour créer des e-mails Outlook

Aspose.Email for C++ est une bibliothèque C++ native qui vous permet de créer et d’envoyer des e-mails de MS Outlook et d’autres formats d’e-mail populaires. Il vous permet également de manipuler des objets Outlook tels que des calendriers, des tâches, des contacts, etc. et de convertir les fichiers de messagerie existants dans d’autres formats. Vous pouvez télécharger le package complet de la bibliothèque depuis ici ou l’installer dans votre application C++ à l’aide de NuGet.

Créer un e-mail Outlook en C++

Tout d’abord, voyons comment créer un message électronique simple et l’enregistrer dans un format de courrier électronique tel que MSG, EML et EMLX. Voici les étapes pour créer un message électronique à l’aide de Aspose.Email for C++.

  • Créez une instance de la classe MailMessage.
  • Définissez les propriétés du message telles que À, De et Corps.
  • Enregistrez le message électronique à l’aide de la méthode MailMessage->Save().

L’exemple de code suivant montre comment créer un message Outlook dans un format de courrier électronique particulier à l’aide de C++.

// Créer une nouvelle instance de la classe MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Définir l'objet du message, le corps Html et les informations sur l'expéditeur
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."));
// Ajouter des destinataires TO et Ajouter des destinataires 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));

// Enregistrer le message aux formats 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()); 

Créer un e-mail Outlook avec un corps HTML à l’aide de C++

Dans l’exemple précédent, nous avons créé un e-mail avec du texte brut. Cependant, la plupart des e-mails de nos jours contiennent un corps HTML pour une présentation fine du contenu de l’e-mail. Dans un tel cas, vous pouvez configurer Aspose.Email et définir le corps HTML de l’e-mail. Pour cela, utilisez simplement MailMessage->setHtmlBody(System::String) et transmettez-lui le contenu HTML. L’exemple de code suivant montre comment créer un e-mail avec un corps HTML à l’aide de C++.

// Créer une nouvelle instance de la classe MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Définir l'objet du message, le corps Html et les informations sur l'expéditeur
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>");
// Ajouter des destinataires TO et Ajouter des destinataires 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)); 

// Enregistrer le message aux formats EML, EMLX, MSG 
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode()); 

Définir l’encodage pour le courrier électronique Outlook à l’aide de C++

Aspose.Email for C++ vous permet également de définir la norme d’encodage pour guider le navigateur sur la façon de traiter les caractères dans l’e-mail. Pour définir la norme d’encodage particulière, vous pouvez utiliser la méthode MailMessage->setBodyEncoding(System::Text::Encoding). L’exemple de code suivant montre comment créer un e-mail avec un encodage particulier à l’aide de C++.

// Créer une nouvelle instance de la classe MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Définir l'objet du message, le corps Html et les informations sur l'expéditeur
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());
// Ajouter des destinataires TO et Ajouter des destinataires 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)); 

// Enregistrer le message aux formats EML, EMLX, MSG
message->Save(u"CreateNewMailMessage_out.eml", SaveOptions::get_DefaultEml()); 
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());

Enregistrer le message Outlook en tant que brouillon à l’aide de C++

Vous pouvez également enregistrer le message électronique Outlook nouvellement créé en tant que brouillon. Voici les étapes pour effectuer cette opération :

L’exemple de code suivant montre comment créer un e-mail en tant que brouillon à l’aide de C++.

// Créer une nouvelle instance de la classe MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Définir l'objet du message, le corps Html et les informations sur l'expéditeur
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.")); 
// Ajouter des destinataires TO et Ajouter des destinataires 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));

// Créez une instance de type MapiMessage à partir de MailMessage, définissez l'indicateur de message sur non envoyé (état de brouillon) et enregistrez-le
System::SharedPtr<MapiMessage> mapiMsg = MapiMessage::FromMailMessage(message);
mapiMsg->SetMessageFlags(Aspose::Email::Mapi::MapiMessageFlags::MSGFLAG_UNSENT);

// Enregistrer le message aux formats EML, EMLX, MSG MHTML 
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());

Démos en direct

Conclusion

Dans cet article, je vous ai montré comment créer des e-mails Outlook dans des applications C++. Les exemples de code C++ ont montré comment créer des e-mails MSG, EML ou EMLX avec un corps texte/HTML ou un encodage particulier. Vous pouvez explorer plus sur la façon de traiter les e-mails Outlook et d’autres éléments à l’aide de Aspose.Email for C++.

Voir également