Funcționalități
Prezentare generală a funcționalității
Aspose.Email FOSS for C++ oferă un API stratificat pentru lucrul cu fișierele Outlook MSG și
containerele Compound File Binary (CFB). Biblioteca are 26 de clase publice în două
subsisteme: CFB și MSG/MAPI.
CFB Acces la container
Subsistemul CFB citește și scrie formatul Microsoft Compound File Binary — formatul container care stă la baza fișierelor Outlook .msg.
| Clasă | Scop |
|---|---|
cfb_reader | Deschide și parcurge fișierele CFB existente |
cfb_writer | Serializare documente CFB în octeți sau fișiere |
cfb_document | Reprezentare în memorie a unui fișier CFB |
cfb_node | Nod individual de stocare sau flux în arborele de directoare |
cfb_storage | Intrare de stocare denumită |
cfb_stream | Flux denumit cu date binare |
Operații cheie:
- Deschide din fișier, flux sau octeți:
cfb_reader::from_file(),cfb_reader::from_stream(),cfb_reader::from_bytes(),cfb_reader::from_buffer() - Enumeră conținutul:
storage_ids(),stream_ids(),child_ids(),directory_entry_count() - Navighează prin cale:
find_child_by_name(),resolve_path() - Inspectează nodurile:
cfb_node::is_storage(),cfb_node::is_stream(),creation_time(),modified_time() - Scrie containere:
cfb_writer::to_bytes(),cfb_writer::write_file(),cfb_writer::write_stream()
Citire și scriere fișier MSG
Subsystemul MSG gestionează formatul de mesaje Outlook pe deasupra CFB.
| Clasă | Scop |
|---|---|
msg_reader | Deschide și analizează fișiere MSG |
msg_writer | Serializare documente MSG |
msg_document | Reprezentare în memorie a unui fișier MSG |
Operații cheie:
- Deschide fișiere MSG:
msg_reader::from_file(),msg_reader::from_stream() - Inspectează metadatele:
msg_document::major_version(),msg_document::minor_version(),msg_document::strict() - Scrie fișiere MSG:
msg_writer::to_bytes(),msg_writer::write_file(),msg_writer::write_stream() - Convertește în CFB:
msg_document::to_cfb_document()pentru acces CFB la nivel scăzut
API Mesaje MAPI de nivel înalt
Clasa mapi_message oferă o interfață de nivel înalt pentru crearea, citirea și conversia mesajelor de e‑mail.
Crearea mesajelor:
mapi_message::create()— construiește un mesaj nou cu subiect și corpset_subject(),set_body(),set_html_body()— setează conținutul mesajuluiset_sender_name(),set_sender_email_address(),set_sender_address_type()— setează expeditorulset_internet_message_id()— setează antetul Message-IDset_message_class()— setează clasa de mesaj MAPIunicode_strings()/set_unicode_strings()— controlează codarea șirului Unicode
Se încarcă mesajele:
mapi_message::from_file()— încărcați dintr-o cale de fișiermapi_message::from_stream()— încărcați dintr-un flux de intraremapi_message::from_msg_document()— încărcați dintr-unmsg_document
Salvarea mesajelor:
save()— serializare în octeţi, flux sau fişierto_msg_document()— conversie într-unmsg_documentpentru acces la nivel scăzut
Atașamente:
mapi_attachment::from_bytes(),mapi_attachment::from_stream()— încarcă datele atașamentuluimapi_attachment::is_embedded_message()— verifică dacă atașamentul este un MSG încorporatmapi_attachment::load_data()— încarcă în mod întârziat conținutul atașamentului
Proprietăţi MAPI:
mapi_property::property_id(),property_type(),property_tag()— identificarea proprietățiimapi_property::set_value(),flags(),set_flags()— manipularea proprietățiimapi_property_collection::remove()— eliminarea proprietăților dintr‑o colecție
Conversie EML și MIME
Convertiți între formatul Outlook MSG și EML standard (RFC 5322 / MIME):
mapi_message::load_from_eml()— analizează un fișier.emlîntr-unmapi_messagemapi_message::save_to_eml()— serializați unmapi_messageîn format EML
Subiectul, corpul, expeditorul, destinatarii și atașamentele sunt păstrate pe parcursul round‑trip‑urilor.
Enumerări și constante
| Enum | Scop |
|---|---|
common_message_property_id | Identificatori standard de proprietăți MAPI (subject, body, sender, attachments) |
property_type_code | Coduri de tipuri de proprietăți MAPI (integer, string, binary, time, GUID) |
msg_storage_role | Roluri de stocare în fișierele MSG (message, recipient, attachment) |
directory_object_type | Tipuri de intrări în directorul CFB (storage, stream, root) |
directory_color_flag | Flaguri de culoare ale arborelui roșu-negru pentru intrările din directorul CFB |
sector_marker | Valori speciale de sector în tabelele de alocare a fișierelor CFB |