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 di posta elettronica C++
- Crea un’e-mail di Outlook utilizzando C++
- Crea un’e-mail di Outlook con corpo HTML utilizzando C++
- Imposta la codifica per la posta elettronica di Outlook utilizzando C++
- Salva il messaggio di Outlook come bozza 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:
- Crea una nuova email o caricane una esistente usando l’oggetto MailMessage.
- Crea un oggetto MapiMessage dal messaggio di posta di Outlook.
- Utilizzare il metodo MapiMessage->SetMessageFlags(Aspose::Email::Mapi::MapiMessageFlags) per impostare il messaggio e-mail come bozza.
- Salva l’e-mail di Outlook.
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++.