在 C++ 中創建 Outlook 電子郵件

如今,電子郵件自動化非常流行,用於從 Web 或桌面應用程序中自動生成和發送電子郵件。它用於發送重要的通知、文檔、時事通訊和各種其他消息。為了開發自動化電子郵件系統,Aspose 使用其電子郵件 API - Aspose.Email 為開發人員提供便利。今天,我將選擇 Aspose.Email 的 C++ 變體,並向您展示如何使用 C++ 創建 Outlook 電子郵件。

用於創建 Outlook 電子郵件的 C++ 電子郵件庫

Aspose.Email for C++ 是一個本地 C++ 庫,可讓您創建和發送 MS Outlook 和其他流行電子郵件格式的電子郵件。它還允許您操作 Outlook 對象,如日曆、任務、聯繫人等,並將現有的電子郵件文件轉換為其他格式。您可以從 此處 下載完整的庫包,或使用 NuGet 在您的 C++ 應用程序中安裝它。

使用 C++ 創建 Outlook 電子郵件

首先,讓我們看看如何創建一個簡單的電子郵件消息並將其保存為 MSG、EML 和 EMLX 等電子郵件格式。以下是使用 Aspose.Email for C++ 創建電子郵件的步驟。

  • 創建 MailMessage 類的實例。
  • 設置郵件的屬性,例如收件人、發件人和正文。
  • 使用 MailMessage->Save() 方法保存電子郵件。

以下代碼示例顯示如何使用 C++ 創建特定電子郵件格式的 Outlook 消息。

// 創建 MailMessage 類的新實例
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// 設置郵件主題、Html 正文和發件人信息
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->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));

// 以 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()); 

使用 C++ 創建帶有 HTML 正文的 Outlook 電子郵件

在前面的示例中,我們創建了一封純文本電子郵件。然而,現在大多數電子郵件都包含一個 HTML 正文,用於很好地展示電子郵件的內容。在這種情況下,您可以配置 Aspose.Email 並設置基於 HTML 的電子郵件正文。為此,只需使用 MailMessage->setHtmlBody(System::String) 並將 HTML 內容傳遞給它。以下代碼示例顯示瞭如何使用 C++ 創建帶有 HTML 正文的電子郵件。

// 創建 MailMessage 類的新實例
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// 設置郵件主題、Html 正文和發件人信息
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>");
// 添加收件人和添加抄送收件人
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)); 

// 以 EML、EMLX、MSG 格式保存信息 
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode()); 

使用 C++ 為 Outlook 電子郵件設置編碼

Aspose.Email for C++ 還允許您定義編碼標準來指導瀏覽器如何處理電子郵件中的字符。要設置特定的編碼標準,您可以使用 MailMessage->setBodyEncoding(System::Text::Encoding) 方法。以下代碼示例顯示瞭如何使用 C++ 創建具有特定編碼的電子郵件。

// 創建 MailMessage 類的新實例
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// 設置郵件主題、Html 正文和發件人信息
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());
// 添加收件人和添加抄送收件人
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)); 

// 以 EML、EMLX、MSG 格式保存信息
message->Save(u"CreateNewMailMessage_out.eml", SaveOptions::get_DefaultEml()); 
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());

使用 C++ 將 Outlook 郵件保存為草稿

您還可以將新創建的 Outlook 電子郵件另存為草稿。以下是執行此操作的步驟:

以下代碼示例展示瞭如何使用 C++ 創建電子郵件作為草稿。

// 創建 MailMessage 類的新實例
System::SharedPtr<MailMessage> message = System::MakeObject<MailMessage>();

// 設置郵件主題、Html 正文和發件人信息
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->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));

// 從 MailMessage 創建 MapiMessage 類型的實例,將消息標誌設置為未發送(草稿狀態)並保存
System::SharedPtr<MapiMessage> mapiMsg = MapiMessage::FromMailMessage(message);
mapiMsg->SetMessageFlags(Aspose::Email::Mapi::MapiMessageFlags::MSGFLAG_UNSENT);

// 以 EML、EMLX、MSG MHTML 格式保存消息 
message->Save(u"CreateNewMailMessage_out.emlx", SaveOptions::CreateSaveOptions(MailMessageSaveType::get_EmlxFormat()));
message->Save(u"CreateNewMailMessage_out.msg", SaveOptions::get_DefaultMsgUnicode());

現場演示

結論

在本文中,我向您展示瞭如何在 C++ 應用程序中創建 Outlook 電子郵件。 C++ 代碼示例演示瞭如何創建帶有文本/HTML 正文或特定編碼的 MSG、EML 或 EMLX 電子郵件。您可以探索更多關於如何使用 Aspose.Email for C++ 處理 Outlook 電子郵件和其他項目。

也可以看看