Извлечение Содержимого Сообщений из Электронных Писем на C++

Отображение Информации о Электронной Почте на Экране

MailMessage представляет собой сообщение электронной почты и позволяет разработчикам получать доступ к свойствам сообщения электронной почты. Информация заголовка (обсуждаемая в разделе Извлечение Заголовков Электронной Почты) может быть извлечена и обработана различными способами. В этой статье объясняется, как отобразить выбранную информацию заголовков электронной почты и тело письма на экране. Чтобы отобразить информацию о электронной почте на экране, выполните следующие шаги:

  • Создайте экземпляр класса MailMessage.
  • Загрузите сообщение электронной почты в экземпляр MailMessage.
  • Отобразите содержимое электронной почты на экране.

Следующий фрагмент кода на 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_Email();
// Create MailMessage instance by loading an Eml file
System::SharedPtr<MailMessage> message = MailMessage::Load(dataDir + L"test.eml", System::MakeObject<EmlLoadOptions>());
// Gets the sender info, recipient info, Subject, htmlbody and textbody
System::Console::Write(L"From:");
System::Console::WriteLine(message->get_From());
System::Console::Write(L"To:");
System::Console::WriteLine(message->get_To());
System::Console::Write(L"Subject:");
System::Console::WriteLine(message->get_Subject());
System::Console::WriteLine(L"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());
System::Console::WriteLine(L"TextBody");
System::Console::WriteLine(message->get_Body());

Извлечение Заголовков Электронной Почты

Заголовок электронной почты представляет собой стандартный набор заголовочных полей, определенных в Internet и RFC, которые включены в сообщения электронной почты. Заголовок электронной почты можно задать с помощью класса MailMessage. Общие типы заголовков определены в классе HeaderType. Это запечатанный класс, который работает как обычная перечислимое значение. Чтобы извлечь заголовки из электронной почты, выполните следующие шаги:

  1. Создайте экземпляр класса MailMessage.
  2. Загрузите сообщение электронной почты в экземпляр класса MailMessage.
  3. После загрузки сообщения электронной почты мы получим его необработанное содержимое.

Класс MailMessage сам по себе содержит такие свойства, как From, To, Cc, Subject и т.д. Эти свойства могут быть извлечены из заголовков.

  1. Отобразите необработанное содержимое.

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

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
System::SharedPtr<MailMessage> message;
// Create MailMessage instance by loading an EML file
message = MailMessage::Load(dataDir + L"email-headers.eml", System::MakeObject<EmlLoadOptions>());
System::Console::WriteLine(L"\n\nheaders:\n\n");
// Print out all the headers
int32_t index = 0;
{
auto header_enumerator = (message->get_Headers())->GetEnumerator();
decltype(header_enumerator->get_Current()) header;
while (header_enumerator->MoveNext() && (header = header_enumerator->get_Current(), true))
{
System::Console::Write(header + L" - ");
System::Console::WriteLine(message->get_Headers()->Get(index++));
}
}

Получение Декодированных Значений Заголовков

Следующий фрагмент кода показывает, как получить декодированные значения заголовков.

For complete examples and data files, please go to https://github.com/kashifiqb/Aspose.Email-for-C
System::SharedPtr<MailMessage> mailMessage = MailMessage::Load(dataDir + L"emlWithHeaders.eml");
System::String decodedValue = mailMessage->get_Headers()->GetDecodedValue(L"Thread-Topic");
System::Console::WriteLine(decodedValue);