Twórz wiadomości e-mail programu Outlook w C++

Automatyzacja poczty e-mail jest obecnie dość popularna do automatycznego generowania i wysyłania wiadomości e-mail z poziomu aplikacji internetowych lub komputerowych. Służy do wysyłania ważnych powiadomień, dokumentów, biuletynów i różnego rodzaju innych wiadomości. Aby opracować zautomatyzowany system poczty e-mail, Aspose ułatwia programistom swoje API poczty e-mail - Aspose.Email. Dzisiaj zajmę się wariantem Aspose.Email w C++ i pokażę, jak tworzyć wiadomości e-mail programu Outlook przy użyciu C++.

Biblioteka e-mail C++ do tworzenia wiadomości e-mail programu Outlook

Aspose.Email for C++ to natywna biblioteka C++, która umożliwia tworzenie i wysyłanie wiadomości e-mail w programie MS Outlook i innych popularnych formatach wiadomości e-mail. Pozwala także manipulować obiektami programu Outlook, takimi jak kalendarze, zadania, kontakty itp. oraz konwertować istniejące pliki e-mail do innych formatów. Możesz pobrać cały pakiet bibliotek z tutaj lub zainstalować go w swojej aplikacji C++ przy użyciu NuGet.

Utwórz wiadomość e-mail programu Outlook przy użyciu języka C++

Przede wszystkim sprawdźmy, jak utworzyć prostą wiadomość e-mail i zapisać ją w formacie wiadomości e-mail, takim jak MSG, EML i EMLX. Poniżej przedstawiono kroki tworzenia wiadomości e-mail przy użyciu Aspose.Email dla języka C++.

  • Utwórz instancję klasy MailMessage.
  • Ustaw właściwości wiadomości, takie jak Do, Od i Treść.
  • Zapisz wiadomość e-mail za pomocą metody MailMessage->Save().

Poniższy przykładowy kod pokazuje, jak utworzyć wiadomość programu Outlook w określonym formacie wiadomości e-mail przy użyciu języka C++.

// Utwórz nową instancję klasy MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Ustaw temat wiadomości, treść HTML i informacje o nadawcy
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."));
// Dodaj odbiorców DO i Dodaj odbiorców DW
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));

// Zapisz wiadomość w formatach 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()); 

Utwórz wiadomość e-mail programu Outlook z treścią HTML przy użyciu języka C++

W poprzednim przykładzie utworzyliśmy wiadomość e-mail ze zwykłym tekstem. Jednak większość dzisiejszych wiadomości e-mail zawiera treść HTML, która umożliwia precyzyjną prezentację treści wiadomości e-mail. W takim przypadku możesz skonfigurować Aspose.Email i ustawić treść wiadomości e-mail w formacie HTML. W tym celu wystarczy użyć MailMessage->setHtmlBody(System::String) i przekazać do niego zawartość HTML. Poniższy przykładowy kod pokazuje, jak utworzyć wiadomość e-mail z treścią HTML przy użyciu języka C++.

// Utwórz nową instancję klasy MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Ustaw temat wiadomości, treść HTML i informacje o nadawcy
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>");
// Dodaj odbiorców DO i Dodaj odbiorców DW
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)); 

// Zapisz wiadomość w formatach EML, EMLX, MSG 
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode()); 

Ustaw kodowanie dla wiadomości e-mail programu Outlook przy użyciu języka C++

Aspose.Email for C++ pozwala również zdefiniować standard kodowania, aby poprowadzić przeglądarkę o tym, jak radzić sobie ze znakami w wiadomości e-mail. Aby ustawić konkretny standard kodowania, możesz użyć metody MailMessage->setBodyEncoding(System::Text::Encoding). Poniższy przykładowy kod pokazuje, jak utworzyć wiadomość e-mail z określonym kodowaniem przy użyciu języka C++.

// Utwórz nową instancję klasy MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Ustaw temat wiadomości, treść HTML i informacje o nadawcy
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());
// Dodaj odbiorców DO i Dodaj odbiorców DW
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)); 

// Zapisz wiadomość w formatach EML, EMLX, MSG
message->Save(u"CreateNewMailMessage_out.eml", SaveOptions::get_DefaultEml()); 
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());

Zapisz wiadomość programu Outlook jako wersję roboczą przy użyciu C++

Możesz także zapisać nowo utworzoną wiadomość e-mail programu Outlook jako wersję roboczą. Aby wykonać tę operację, wykonaj następujące kroki:

Poniższy przykładowy kod pokazuje, jak utworzyć wiadomość e-mail jako wersję roboczą przy użyciu języka C++.

// Utwórz nową instancję klasy MailMessage
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// Ustaw temat wiadomości, treść HTML i informacje o nadawcy
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.")); 
// Dodaj odbiorców DO i Dodaj odbiorców DW
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));

// Utwórz instancję typu MapiMessage z MailMessage, ustaw flagę wiadomości na niewysłaną (status wersji roboczej) i zapisz ją
System::SharedPtr<MapiMessage> mapiMsg = MapiMessage::FromMailMessage(message);
mapiMsg->SetMessageFlags(Aspose::Email::Mapi::MapiMessageFlags::MSGFLAG_UNSENT);

// Zapisz wiadomość w formatach EML, EMLX, MSG MHTML 
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());

Demo na żywo

Wniosek

W tym artykule pokazałem, jak tworzyć wiadomości e-mail Outlooka w aplikacjach C++. Przykłady kodu C++ pokazały, jak tworzyć wiadomości e-mail MSG, EML lub EMLX z treścią tekstową/HTML lub określonym kodowaniem. Możesz odkryć więcej o tym, jak radzić sobie z wiadomościami e-mail programu Outlook i innymi elementami za pomocą Aspose.Email for C++.

Zobacz też