Функції
Огляд функції
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-IDset_message_class()— встановити клас повідомлення MAPIunicode_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()— перевірити, чи є вкладення вбудованим MSGmapi_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_messagemapi_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 |