Извлечение Содержимого Сообщений из Электронных Писем на 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. Это запечатанный класс, который работает как обычная перечислимое значение. Чтобы извлечь заголовки из электронной почты, выполните следующие шаги:
- Создайте экземпляр класса MailMessage.
- Загрузите сообщение электронной почты в экземпляр класса MailMessage.
- После загрузки сообщения электронной почты мы получим его необработанное содержимое.
Класс MailMessage
сам по себе содержит такие свойства, как From, To, Cc, Subject и т.д. Эти свойства могут быть извлечены из заголовков.
- Отобразите необработанное содержимое.
Следующий фрагмент кода на 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); |