Читайте повідомлення електронної пошти за допомогою C++

Електронні листи є основним джерелом спілкування в Інтернеті. Ви можете опинитися в сценарії, коли ви бажаєте, щоб ваші програми читали файли EML і MSG і додавали їх вміст до певного файлу або виконували над ними інші операції. З цією метою ця стаття навчить вас читати повідомлення електронної пошти за допомогою C++.

C++ API для читання повідомлень електронної пошти

Aspose.Email for C++ — це рідна бібліотека C++ для створення, обробки та надсилання електронних листів без встановлення Microsoft Outlook. API також підтримує читання файлів електронної пошти EML і MSG. Ви можете встановити API через NuGet або завантажити його безпосередньо з розділу Завантаження.

PM> Install-Package Aspose.Email.Cpp

Читайте повідомлення електронної пошти за допомогою C++

Нижче наведено кроки для читання повідомлень електронної пошти.

Нижче наведено зразок коду для читання повідомлень електронної пошти за допомогою 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());
Результат, згенерований зразком коду

Результат, згенерований зразком коду

Вилучення інформації заголовка з повідомлень електронної пошти

Нижче наведено кроки для отримання інформації заголовка з повідомлень електронної пошти.

Нижче наведено приклад коду для отримання інформації заголовка з повідомлень електронної пошти за допомогою 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++));
    }
}

Розшифруйте значення заголовка повідомлення електронної пошти

Нижче наведено кроки для декодування значень заголовків у повідомленнях електронної пошти.

Нижче наведено приклад коду для декодування значень заголовків у повідомленнях електронної пошти за допомогою 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, відвідавши офіційну документацію. Якщо у вас виникли запитання, зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також