Создание электронной почты Outlook на C++

В наши дни автоматизация электронной почты довольно популярна для автоматического создания и отправки электронных писем из веб-приложений или настольных приложений. Он используется для отправки важных уведомлений, документов, информационных бюллетеней и различных других сообщений. Чтобы разработать автоматизированную систему электронной почты, Aspose помогает разработчикам с помощью своего почтового API — Aspose.Email. Сегодня я возьму версию Aspose.Email для C++ и покажу вам, как создавать электронные письма Outlook с помощью C++.

Библиотека электронной почты C++ для создания электронных писем Outlook

Aspose.Email для C++ — это собственная библиотека C++, которая позволяет создавать и отправлять электронные письма MS Outlook и других популярных форматов электронной почты. Он также позволяет вам управлять объектами Outlook, такими как календари, задачи, контакты и т. д., и преобразовывать существующие файлы электронной почты в другие форматы. Вы можете загрузить полный пакет библиотеки из здесь или установить его в своем приложении C++ с помощью NuGet.

Создайте электронную почту Outlook с помощью C++

Прежде всего, давайте посмотрим, как создать простое сообщение электронной почты и сохранить его в формате электронной почты, таком как MSG, EML и EMLX. Ниже приведены шаги по созданию сообщения электронной почты с помощью Aspose.Email для C++.

  • Создайте экземпляр класса MailMessage.
  • Задайте свойства сообщения, такие как «Кому», «От» и «Тело».
  • Сохраните сообщение электронной почты, используя метод MailMessage->Save().

В следующем примере кода показано, как создать сообщение 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_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()); 

Создайте электронное письмо Outlook с телом HTML с помощью C++

В предыдущем примере мы создали электронное письмо с простым текстом. Тем не менее, большинство электронных писем в наши дни содержат тело HTML для прекрасного представления содержимого электронной почты. В таком случае вы можете настроить Aspose.Email и установить тело письма на основе HTML. Для этого просто используйте MailMessage->setHtmlBody(System::String) и передайте ему содержимое HTML. В следующем примере кода показано, как создать сообщение электронной почты с телом HTML с помощью 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_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()); 

Установите кодировку для электронной почты Outlook с помощью C++

Aspose.Email для 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());

Сохранить сообщение Outlook как черновик с помощью C++

Вы также можете сохранить только что созданное сообщение электронной почты Outlook как черновик. Ниже приведены шаги для выполнения этой операции:

  • Создайте новое электронное письмо или загрузите существующее с помощью объекта MailMessage.
  • Создайте объект MapiMessage из почтового сообщения Outlook.
  • Используйте метод MapiMessage->SetMessageFlags(Aspose::Email::Mapi::MapiMessageFlags), чтобы сделать сообщение электронной почты черновиком.
  • Сохраните электронную почту 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));

// Создайте экземпляр типа MapiMessage из MailMessage, установите флаг сообщения как неотправленный (статус черновика) и сохраните его.
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());

Живые демонстрации

Вывод

В этой статье я показал вам, как создавать электронные письма Outlook в приложениях C++. Примеры кода на C++ продемонстрировали, как создавать сообщения электронной почты MSG, EML или EMLX с текстом/текстом HTML или определенной кодировкой. Вы можете узнать больше о том, как работать с электронной почтой Outlook и другими элементами, используя Aspose.Email для C++.

Смотрите также