Функции
Общ преглед на функцията
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-IDset_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()— проверка дали прикаченият файл е вграден 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 файлове |