Функции

Общ преглед на функцията

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

Високо ниво MAPI API за съобщения

Класът 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 файлове
 Български