Crea e-mail di Outlook in C++

L’automazione della posta elettronica è piuttosto popolare in questi giorni per la generazione e l’invio di e-mail automaticamente dall’interno delle applicazioni Web o desktop. Viene utilizzato per inviare notifiche importanti, documenti, newsletter e vari tipi di altri messaggi. Al fine di sviluppare un sistema di posta elettronica automatizzato, Aspose facilita gli sviluppatori con la sua API di posta elettronica - Aspose.Email. Oggi prenderò la variante C++ di Aspose.Email e ti mostrerò come creare e-mail di Outlook usando C++.

Libreria e-mail C++ per creare e-mail di Outlook

Aspose.Email per C++ è una libreria C++ nativa che ti consente di creare e inviare e-mail di MS Outlook e altri formati di posta elettronica popolari. Consente inoltre di manipolare oggetti di Outlook come calendari, attività, contatti, ecc. e convertire i file di posta elettronica esistenti in altri formati. Puoi scaricare il pacchetto completo della libreria da qui o installarlo all’interno della tua applicazione C++ usando NuGet.

Crea un’e-mail di Outlook utilizzando C++

Prima di tutto, diamo un’occhiata a come creare un semplice messaggio e-mail e salvarlo in un formato e-mail come MSG, EML ed EMLX. Di seguito sono riportati i passaggi per creare un messaggio di posta elettronica utilizzando Aspose.Email per C++.

  • Crea un’istanza della classe MailMessage.
  • Imposta le proprietà del messaggio come A, Da e Corpo.
  • Salva il messaggio e-mail utilizzando il metodo MailMessage->Save().

L’esempio di codice seguente mostra come creare un messaggio di Outlook in un particolare formato di posta elettronica usando C++.

// Crea una nuova istanza della classe MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Imposta l'oggetto del messaggio, il corpo HTML e le informazioni sul mittente
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."));
// Aggiungi destinatari TO e Aggiungi destinatari 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));

// Salva il messaggio nei formati 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()); 

Crea un’e-mail di Outlook con corpo HTML utilizzando C++

Nell’esempio precedente, abbiamo creato un’e-mail con testo normale. Tuttavia, la maggior parte delle e-mail in questi giorni contiene un corpo HTML per una presentazione accurata del contenuto dell’e-mail. In tal caso, è possibile configurare Aspose.Email e impostare il corpo dell’e-mail basato su HTML. Per questo, usa semplicemente MailMessage-> setHtmlBody(System::String) e passagli il contenuto HTML. L’esempio di codice seguente mostra come creare un messaggio di posta elettronica con un corpo HTML usando C++.

// Crea una nuova istanza della classe MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Imposta l'oggetto del messaggio, il corpo HTML e le informazioni sul mittente
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>");
// Aggiungi destinatari TO e Aggiungi destinatari 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)); 

// Salva il messaggio nei formati EML, EMLX, MSG 
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode()); 

Imposta la codifica per la posta elettronica di Outlook utilizzando C++

Aspose.Email per C++ consente inoltre di definire lo standard di codifica per guidare il browser su come gestire i caratteri nell’e-mail. Per impostare lo standard di codifica particolare, è possibile utilizzare il metodo MailMessage->setBodyEncoding(System::Text::Encoding). L’esempio di codice seguente mostra come creare un messaggio di posta elettronica con una codifica particolare usando C++.

// Crea una nuova istanza della classe MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Imposta l'oggetto del messaggio, il corpo HTML e le informazioni sul mittente
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());
// Aggiungi destinatari TO e Aggiungi destinatari 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)); 

// Salva il messaggio nei formati EML, EMLX, MSG
message->Save(u"CreateNewMailMessage_out.eml", SaveOptions::get_DefaultEml()); 
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());

Salva il messaggio di Outlook come bozza usando C++

Puoi anche salvare il messaggio di posta elettronica di Outlook appena creato come bozza. Di seguito sono riportati i passaggi per eseguire questa operazione:

L’esempio di codice seguente mostra come creare un messaggio di posta elettronica come bozza usando C++.

// Crea una nuova istanza della classe MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Imposta l'oggetto del messaggio, il corpo HTML e le informazioni sul mittente
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.")); 
// Aggiungi destinatari TO e Aggiungi destinatari 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));

// Crea un'istanza di tipo MapiMessage da MailMessage, imposta il flag del messaggio su non inviato (stato bozza) e salvalo
System::SharedPtr<MapiMessage> mapiMsg = MapiMessage::FromMailMessage(message);
mapiMsg->SetMessageFlags(Aspose::Email::Mapi::MapiMessageFlags::MSGFLAG_UNSENT);

// Salva il messaggio nei formati EML, EMLX, MSG MHTML 
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());

Dimostrazioni dal vivo

Conclusione

In questo articolo, ti ho mostrato come creare e-mail di Outlook all’interno delle applicazioni C++. Gli esempi di codice C++ hanno dimostrato come creare e-mail MSG, EML o EMLX con corpo testo/HTML o una codifica particolare. Puoi esplorare di più su come gestire le e-mail di Outlook e altri elementi utilizzando Aspose.Email per C++.

Guarda anche