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.

ClassePropósito
cfb_readerAbrir e percorrer arquivos CFB existentes
cfb_writerSerializar documentos CFB para bytes ou arquivos
cfb_documentRepresentação em memória de um arquivo CFB
cfb_nodeNó de armazenamento ou fluxo individual na árvore de diretórios
cfb_storageEntrada de armazenamento nomeada
cfb_streamFluxo 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.

ClassePropósito
msg_readerAbrir e analisar arquivos MSG
msg_writerSerializar documentos MSG
msg_documentRepresentaçã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 corpo
  • set_subject(), set_body(), set_html_body() — defina o conteúdo da mensagem
  • set_sender_name(), set_sender_email_address(), set_sender_address_type() — defina o remetente
  • set_internet_message_id() — defina o cabeçalho Message-ID
  • set_message_class() — defina a classe de mensagem MAPI
  • unicode_strings() / set_unicode_strings() — controle a codificação de strings Unicode

Carregando mensagens:

  • mapi_message::from_file() — carregar a partir de um caminho de arquivo
  • mapi_message::from_stream() — carregar a partir de um fluxo de entrada
  • mapi_message::from_msg_document() — carregar a partir de um msg_document

Salvando mensagens:

  • save() — serializar para bytes, stream ou arquivo
  • to_msg_document() — converter para um msg_document para acesso de baixo nível

Anexos:

  • mapi_attachment::from_bytes(), mapi_attachment::from_stream() — carregar dados do anexo
  • mapi_attachment::is_embedded_message() — verificar se o anexo é um MSG incorporado
  • mapi_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 propriedade
  • mapi_property::set_value(), flags(), set_flags() — manipulação de propriedade
  • mapi_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 .eml em um mapi_message
  • mapi_message::save_to_eml() — serializar um mapi_message para o formato EML

Assunto, corpo, remetente, destinatários e anexos são preservados durante as viagens de ida e volta.


Enums e Constantes

EnumPropósito
common_message_property_idIdentificadores padrão de propriedades MAPI (assunto, corpo, remetente, anexos)
property_type_codeCódigos de tipo de propriedade MAPI (inteiro, string, binário, tempo, GUID)
msg_storage_roleFunções de armazenamento em arquivos MSG (mensagem, destinatário, anexo)
directory_object_typeTipos de entrada de diretório CFB (armazenamento, fluxo, raiz)
directory_color_flagSinalizadores de cor de árvore rubro‑negra para entradas de diretório CFB
sector_markerValores de setor especiais nas tabelas de alocação de arquivos CFB
 Português