Створення електронних листів Outlook на C++

Автоматизація електронної пошти сьогодні досить популярна для автоматичного створення та надсилання електронних листів із веб-програм або програм для настільних ПК. Він використовується для надсилання важливих повідомлень, документів, інформаційних бюлетенів та різного роду інших повідомлень. Щоб розробити автоматизовану систему електронної пошти, Aspose допомагає розробникам за допомогою свого API електронної пошти - Aspose.Email. Сьогодні я збираюся підібрати C++ варіант Aspose.Email і покажу вам, як створювати електронні листи Outlook за допомогою C++.

Бібліотека електронної пошти C++ для створення електронних листів Outlook

Aspose.Email for C++ — це рідна бібліотека C++, яка дозволяє створювати та надсилати електронні листи в MS Outlook та інших популярних форматах електронної пошти. Це також дозволяє вам керувати об’єктами Outlook, такими як календарі, завдання, контакти тощо, і конвертувати наявні файли електронної пошти в інші формати. Ви можете завантажити повний пакет бібліотеки тут або встановити його у своїй програмі C++ за допомогою NuGet.

Створіть електронний лист Outlook за допомогою C++

Перш за все, давайте перевіримо, як створити просте повідомлення електронної пошти та зберегти його у форматі електронної пошти, наприклад MSG, EML та EMLX. Нижче наведено кроки для створення електронного повідомлення за допомогою Aspose.Email for 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."));
// Додати одержувачів TO та Add CC recipients
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>");
// Додати одержувачів TO та Add CC recipients
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 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());
// Додати одержувачів TO та Add CC recipients
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.")); 
// Додати одержувачів TO та Add CC recipients
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 for C++.

Дивись також