Recursos
Visão geral do recurso
Aspose.Email FOSS for C++ fornece uma API em camadas para trabalhar com arquivos Outlook MSG e
Compound File Binary (CFB) contêineres. A biblioteca possui 26 classes públicas em dois
subsistemas: CFB e MSG/MAPI.
Acesso ao Contêiner CFB
O subsistema CFB lê e grava o formato Microsoft Compound File Binary — o formato de contêiner subjacente aos arquivos Outlook .msg.
| Classe | Propósito |
|---|---|
cfb_reader | Abrir e percorrer arquivos CFB existentes |
cfb_writer | Serializar documentos CFB para bytes ou arquivos |
cfb_document | Representação em memória de um arquivo CFB |
cfb_node | Nó de armazenamento ou fluxo individual na árvore de diretórios |
cfb_storage | Entrada de armazenamento nomeada |
cfb_stream | Fluxo nomeado com dados binários |
Operações principais:
- Abrir a partir de arquivo, fluxo ou bytes:
cfb_reader::from_file(),cfb_reader::from_stream(),cfb_reader::from_bytes(),cfb_reader::from_buffer() - Enumerar conteúdos:
storage_ids(),stream_ids(),child_ids(),directory_entry_count() - Navegar por caminho:
find_child_by_name(),resolve_path() - Inspecionar nós:
cfb_node::is_storage(),cfb_node::is_stream(),creation_time(),modified_time() - Escrever contêineres:
cfb_writer::to_bytes(),cfb_writer::write_file(),cfb_writer::write_stream()
Leitura e gravação de arquivo MSG
O subsistema MSG lida com o formato de mensagem do Outlook sobre CFB.
| Classe | Propósito |
|---|---|
msg_reader | Abrir e analisar arquivos MSG |
msg_writer | Serializar documentos MSG |
msg_document | Representação em memória de um arquivo MSG |
Operações principais:
- Abrir arquivos MSG:
msg_reader::from_file(),msg_reader::from_stream() - Inspecionar metadados:
msg_document::major_version(),msg_document::minor_version(),msg_document::strict() - Gravar arquivos MSG:
msg_writer::to_bytes(),msg_writer::write_file(),msg_writer::write_stream() - Converter para CFB:
msg_document::to_cfb_document()para acesso de baixo nível ao CFB
API de Mensagens MAPI de Alto Nível
A classe mapi_message fornece uma interface de alto nível para criar, ler e converter mensagens de e‑mail.
Criando mensagens:
mapi_message::create()— crie uma nova mensagem com assunto e corposet_subject(),set_body(),set_html_body()— defina o conteúdo da mensagemset_sender_name(),set_sender_email_address(),set_sender_address_type()— defina o remetenteset_internet_message_id()— defina o cabeçalho Message-IDset_message_class()— defina a classe de mensagem MAPIunicode_strings()/set_unicode_strings()— controle a codificação de strings Unicode
Carregando mensagens:
mapi_message::from_file()— carregar a partir de um caminho de arquivomapi_message::from_stream()— carregar a partir de um fluxo de entradamapi_message::from_msg_document()— carregar a partir de ummsg_document
Salvando mensagens:
save()— serializar para bytes, stream ou arquivoto_msg_document()— converter para ummsg_documentpara acesso de baixo nível
Anexos:
mapi_attachment::from_bytes(),mapi_attachment::from_stream()— carregar dados do anexomapi_attachment::is_embedded_message()— verificar se o anexo é um MSG incorporadomapi_attachment::load_data()— carregar de forma preguiçosa o conteúdo do anexo
Propriedades MAPI:
mapi_property::property_id(),property_type(),property_tag()— identificação de propriedademapi_property::set_value(),flags(),set_flags()— manipulação de propriedademapi_property_collection::remove()— remover propriedades de uma coleção
Conversão de EML e MIME
Converter entre o formato Outlook MSG e o padrão EML (RFC 5322 / MIME):
mapi_message::load_from_eml()— analisar um arquivo.emlem ummapi_messagemapi_message::save_to_eml()— serializar ummapi_messagepara o formato EML
Assunto, corpo, remetente, destinatários e anexos são preservados durante as viagens de ida e volta.
Enums e Constantes
| Enum | Propósito |
|---|---|
common_message_property_id | Identificadores padrão de propriedades MAPI (assunto, corpo, remetente, anexos) |
property_type_code | Códigos de tipo de propriedade MAPI (inteiro, string, binário, tempo, GUID) |
msg_storage_role | Funções de armazenamento em arquivos MSG (mensagem, destinatário, anexo) |
directory_object_type | Tipos de entrada de diretório CFB (armazenamento, fluxo, raiz) |
directory_color_flag | Sinalizadores de cor de árvore rubro‑negra para entradas de diretório CFB |
sector_marker | Valores de setor especiais nas tabelas de alocação de arquivos CFB |