Функції

Огляд функції

Aspose.Email FOSS for C++ надає багаторівневий API для роботи з файлами Outlook MSG та
Compound File Binary (CFB) контейнерами. Бібліотека містить 26 публічних класів у двох
підсистемах: CFB і MSG/MAPI.


Доступ до контейнера CFB

Підсистема CFB читає та записує формат Microsoft Compound File Binary — контейнерний формат, що лежить в основі файлів Outlook .msg.

КласПризначення
cfb_readerВідкривати та обходити існуючі CFB‑файли
cfb_writerСеріалізувати CFB‑документи у байти або файли
cfb_documentПредставлення CFB‑файлу в пам’яті
cfb_nodeОкремий вузол сховища або потоку в дереві каталогів
cfb_storageІменований запис сховища
cfb_streamІменований потік з бінарними даними

Ключові операції:

  • Відкрити з файлу, потоку або байтів: cfb_reader::from_file(), cfb_reader::from_stream(), cfb_reader::from_bytes(), cfb_reader::from_buffer()
  • Перелічити вміст: storage_ids(), stream_ids(), child_ids(), directory_entry_count()
  • Навігація за шляхом: find_child_by_name(), resolve_path()
  • Переглянути вузли: cfb_node::is_storage(), cfb_node::is_stream(), creation_time(), modified_time()
  • Записати контейнери: cfb_writer::to_bytes(), cfb_writer::write_file(), cfb_writer::write_stream()

Читання та запис MSG‑файлів

Підсистема MSG обробляє формат повідомлень Outlook поверх CFB.

КласПризначення
msg_readerВідкривати та аналізувати файли MSG
msg_writerСеріалізувати документи MSG
msg_documentПредставлення MSG файлу в пам’яті

Ключові операції:

  • Відкрити MSG файли: msg_reader::from_file(), msg_reader::from_stream()
  • Перевірити метадані: msg_document::major_version(), msg_document::minor_version(), msg_document::strict()
  • Записати MSG файли: msg_writer::to_bytes(), msg_writer::write_file(), msg_writer::write_stream()
  • Конвертувати у CFB: msg_document::to_cfb_document() для низькорівневого доступу до CFB

Високорівневий API повідомлень MAPI

Клас mapi_message забезпечує високорівневий інтерфейс для створення, читання та конвертування повідомлень електронної пошти.

Створення повідомлень:

  • mapi_message::create() — створити нове повідомлення з темою та тілом
  • set_subject(), set_body(), set_html_body() — встановити вміст повідомлення
  • set_sender_name(), set_sender_email_address(), set_sender_address_type() — встановити відправника
  • set_internet_message_id() — встановити заголовок Message-ID
  • set_message_class() — встановити клас повідомлення MAPI
  • unicode_strings() / set_unicode_strings() — керувати кодуванням Unicode‑рядка

Завантаження повідомлень:

  • mapi_message::from_file() — завантажити з шляху до файлу
  • mapi_message::from_stream() — завантажити з вхідного потоку
  • mapi_message::from_msg_document() — завантажити з msg_document

Збереження повідомлень:

  • save() — серіалізувати у байти, потік або файл
  • to_msg_document() — конвертувати в msg_document для низькорівневого доступу

Вкладення:

  • mapi_attachment::from_bytes(), mapi_attachment::from_stream() — завантажити дані вкладення
  • mapi_attachment::is_embedded_message() — перевірити, чи є вкладення вбудованим MSG
  • mapi_attachment::load_data() — відкладене завантаження вмісту вкладення

Властивості MAPI:

  • mapi_property::property_id(), property_type(), property_tag() — ідентифікація властивості
  • mapi_property::set_value(), flags(), set_flags() — маніпуляція властивістю
  • mapi_property_collection::remove() — видалити властивості з колекції

Перетворення EML та MIME

Конвертувати між форматом Outlook MSG та стандартним EML (RFC 5322 / MIME):

  • mapi_message::load_from_eml() — розпарсити файл .eml у mapi_message
  • mapi_message::save_to_eml() — серіалізувати mapi_message у формат EML

Тема, тіло, відправник, одержувачі та вкладення зберігаються під час кругових передач.


Перелічення та Константи

EnumПризначення
common_message_property_idСтандартні ідентифікатори властивостей MAPI (тема, тіло, відправник, вкладення)
property_type_codeКоди типів властивостей MAPI (ціле, рядок, бінарний, час, GUID)
msg_storage_roleРолі сховища у файлах MSG (повідомлення, одержувач, вкладення)
directory_object_typeТипи записів каталогу CFB (сховище, потік, корінь)
directory_color_flagПрапорці кольору червоно-чорного дерева для записів каталогу CFB
sector_markerСпеціальні значення секторів у таблицях розподілу файлів CFB
 Українська