Електронні листи є основним джерелом спілкування в Інтернеті. Ви можете опинитися в сценарії, коли ви бажаєте, щоб ваші програми читали файли EML і MSG і додавали їх вміст до певного файлу або виконували над ними інші операції. З цією метою ця стаття навчить вас читати повідомлення електронної пошти за допомогою C++.
- C++ API для читання повідомлень електронної пошти
- Читайте повідомлення електронної пошти за допомогою C++
- Вилучення інформації заголовка з повідомлень електронної пошти
- Розшифруйте значення заголовка повідомлення електронної пошти
- Отримайте безкоштовну ліцензію
C++ API для читання повідомлень електронної пошти
Aspose.Email for C++ — це рідна бібліотека C++ для створення, обробки та надсилання електронних листів без встановлення Microsoft Outlook. API також підтримує читання файлів електронної пошти EML і MSG. Ви можете встановити API через NuGet або завантажити його безпосередньо з розділу Завантаження.
PM> Install-Package Aspose.Email.Cpp
Читайте повідомлення електронної пошти за допомогою C++
Нижче наведено кроки для читання повідомлень електронної пошти.
- Завантажте файл електронної пошти за допомогою класу MailMessage.
- Прочитайте вміст електронного листа за допомогою MailMessage->getFrom(), MailMessage->getTo(), MailMessage->getSubject(), MailMessage->getBody( ) тощо методи.
Нижче наведено зразок коду для читання повідомлень електронної пошти за допомогою C++.
// Створіть екземпляр MailMessage, завантаживши файл EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// Отримати інформацію про відправника
System::Console::WriteLine(u"From:");
System::Console::WriteLine(message->get_From());
// Отримати інформацію про одержувачів
System::Console::WriteLine(u"To:");
System::Console::WriteLine(message->get_To());
// Отримати предмет
System::Console::WriteLine(u"Subject:");
System::Console::WriteLine(message->get_Subject());
// Отримайте тіло HTML
System::Console::WriteLine(u"HtmlBody:");
System::Console::WriteLine(message->get_HtmlBody());
// Отримати основний текст
System::Console::WriteLine(u"TextBody:");
System::Console::WriteLine(message->get_Body());
Вилучення інформації заголовка з повідомлень електронної пошти
Нижче наведено кроки для отримання інформації заголовка з повідомлень електронної пошти.
- Завантажте файл електронної пошти за допомогою класу MailMessage.
- Отримайте нумератор заголовка за допомогою методу MailMessage->getHeaders()->GetEnumerator().
- Перегляньте заголовки та отримайте заголовок за допомогою методу MailMessage->getHeaders()->Get (індекс int32t).
Нижче наведено приклад коду для отримання інформації заголовка з повідомлень електронної пошти за допомогою C++.
// Створіть екземпляр MailMessage, завантаживши файл EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// Роздрукуйте всі заголовки
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 + u" - ");
System::Console::WriteLine(message->get_Headers()->Get(index++));
}
}
Розшифруйте значення заголовка повідомлення електронної пошти
Нижче наведено кроки для декодування значень заголовків у повідомленнях електронної пошти.
- Завантажте файл електронної пошти за допомогою класу MailMessage.
- Декодуйте значення заголовка за допомогою методу MailMessage->getHeaders()->GetDecodedValue (System::String name).
Нижче наведено приклад коду для декодування значень заголовків у повідомленнях електронної пошти за допомогою C++.
// Створіть екземпляр MailMessage, завантаживши файл EML
System::SharedPtr<MailMessage> message = MailMessage::Load(u"SourceDirectory\\Message.eml", System::MakeObject<EmlLoadOptions>());
// Отримати декодоване значення із заголовка
System::String decodedValue = message->get_Headers()->GetDecodedValue(u"Thread-Topic");
// Роздрукуйте значення
System::Console::WriteLine(decodedValue);
Отримайте безкоштовну ліцензію
Ви можете спробувати API без обмежень щодо оцінювання, надіславши запит на безкоштовну тимчасову ліцензію.
Жива демо
Висновок
У цій статті ви дізналися, як читати повідомлення електронної пошти за допомогою C++. Зокрема, ви навчилися читати вміст електронного листа та інформацію в заголовку. Ви також бачили, як декодувати значення заголовка за допомогою API Aspose.Email for C++. Окрім читання повідомлень електронної пошти, API надає набагато більше можливостей для роботи з електронними листами. Ви можете детально вивчити API, відвідавши офіційну документацію. Якщо у вас виникли запитання, зв’яжіться з нами на нашому безкоштовному форумі підтримки.