Работа с флагом "Напомнить" и сроком выполнения для файлов MSG Outlook на C++

Установка флага “Напомнить” и срока выполнения для файлов MSG Outlook

Флаг “Напомнить” помечает электронное сообщение для выполнения какого-либо действия. Microsoft Outlook позволяет пользователям помечать сообщения и в настройках флага назначать срок выполнения для последующего действия. Microsoft Outlook отправляет напоминание получателю, чтобы побудить его выполнить действие с электронной почтой. Программное обеспечение, позволяющее помечать электронные письма и устанавливать сроки выполнения, позволяет разработчикам автоматизировать определенные типы электронных писем и помогать получателям помнить о необходимости предпринять действия. Например, это может использоваться для отправки ежемесячных сообщений команде продаж, чтобы напомнить им завершить свои отчеты; или для отправки сообщения всем сотрудникам, чтобы напомнить им о собрании компании. Aspose.Email для C++ поддерживает установку флага “Напомнить” и срока выполнения для объектов MapiMessage с использованием FollowUpManager и FollowUpOptions. Существует несколько вариантов, как можно установить флаг “Напомнить” для сообщения. Все они используются в приведенном ниже образце кода:

  1. Установить флаг “Напомнить” для сообщения
  2. Добавить срок выполнения и дату напоминания к сообщению
  3. Добавить флаг к сообщению получателя.
  4. Пометить как завершенное.
  5. Удалить флаг.
  6. Прочитать параметры последующего действия.

Установка флага “Напомнить”

Следующий фрагмент кода покажет вам, как установить флаг “Напомнить” с использованием API библиотеки разбора электронной почты C++.

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
// The path to the File directory.
System::String dataDir = RunExamples::GetDataDir_Outlook();
System::SharedPtr<MailMessage> mailMsg = System::MakeObject<MailMessage>();
mailMsg->set_Sender(L"AETest12@gmail.com");
mailMsg->set_To(L"receiver@gmail.com");
mailMsg->set_Body(L"This message will test if follow up options can be added to a new mapi message.");
System::SharedPtr<MapiMessage> mapi = MapiMessage::FromMailMessage(mailMsg);
System::DateTime dtStartDate(2013, 5, 23, 14, 40, 0);
System::DateTime dtReminderDate(2013, 5, 23, 16, 40, 0);
System::DateTime dtDueDate = dtReminderDate.AddDays(1);
System::SharedPtr<FollowUpOptions> options = System::MakeObject<FollowUpOptions>(L"Follow Up", dtStartDate, dtDueDate, dtReminderDate);
FollowUpManager::SetOptions(mapi, options);
mapi->Save(dataDir + L"SetFollowUpflag_out.msg");

Установка “Напомнить” для получателей

Следующий фрагмент кода покажет вам, как установить “Напомнить” для получателей.

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
// The path to the File directory.
System::String dataDir = RunExamples::GetDataDir_Outlook();
System::SharedPtr<MailMessage> mailMsg = System::MakeObject<MailMessage>();
mailMsg->set_Sender(L"AETest12@gmail.com");
mailMsg->set_To(L"receiver@gmail.com");
mailMsg->set_Body(L"This message will test if follow up options can be added to a new mapi message.");
System::SharedPtr<MapiMessage> mapi = MapiMessage::FromMailMessage(mailMsg);
mapi->SetMessageFlags(Aspose::Email::Outlook::MapiMessageFlags::MSGFLAG_UNSENT);
// Mark this message as draft
System::DateTime dtReminderDate(2013, 5, 23, 16, 40, 0);
// Add the follow up flag for receipient now
FollowUpManager::SetFlagForRecipients(mapi, L"Follow up", dtReminderDate);
mapi->Save(dataDir + L"SetFollowUpForRecipients_out.msg");

Пометка флага “Напомнить” как завершенного

Следующий фрагмент кода покажет вам, как пометить флаг “Напомнить” как завершенный.

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
// The path to the File directory.
System::String dataDir = RunExamples::GetDataDir_Outlook();
System::SharedPtr<MapiMessage> mapiMessage = MapiMessage::FromFile(dataDir + L"Message.msg");
FollowUpManager::MarkAsCompleted(mapiMessage);
mapiMessage->Save(dataDir + L"MarkedCompleted_out.msg");

Удаление флага “Напомнить”

Следующий фрагмент кода покажет вам, как удалить флаг “Напомнить”.

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
// The path to the File directory.
System::String dataDir = RunExamples::GetDataDir_Outlook();
// Load file from Disk
System::SharedPtr<MapiMessage> mapi = MapiMessage::FromFile(dataDir + L"message.msg");
FollowUpManager::ClearFlag(mapi);
mapi->Save(dataDir + L"RemoveFollowUpflag_out.msg");

Чтение параметров флага “Напомнить” для сообщения

Следующий фрагмент кода покажет вам, как читать параметры флага “Напомнить” для сообщения.

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
// The path to the File directory.
System::String dataDir = RunExamples::GetDataDir_Outlook();
System::SharedPtr<MapiMessage> mapi = MapiMessage::FromFile(dataDir + L"message.msg");
System::SharedPtr<FollowUpOptions> options = FollowUpManager::GetOptions(mapi);