Características

Descripción general de la característica

Aspose.Email FOSS for C++ proporciona una API en capas para trabajar con archivos Outlook MSG y
contenedores Compound File Binary (CFB). La biblioteca tiene 26 clases públicas en dos
sub‑sistemas: CFB y MSG/MAPI.


Acceso al contenedor CFB

El subsistema CFB lee y escribe el formato Microsoft Compound File Binary — el formato de contenedor subyacente de los archivos Outlook .msg.

ClasePropósito
cfb_readerAbrir y recorrer archivos CFB existentes
cfb_writerSerializar documentos CFB a bytes o archivos
cfb_documentRepresentación en memoria de un archivo CFB
cfb_nodeNodo individual de almacenamiento o flujo en el árbol de directorios
cfb_storageEntrada de almacenamiento con nombre
cfb_streamFlujo con nombre con datos binarios

Operaciones clave:

  • Abrir desde archivo, flujo o bytes: cfb_reader::from_file(), cfb_reader::from_stream(), cfb_reader::from_bytes(), cfb_reader::from_buffer()
  • Enumerar contenidos: storage_ids(), stream_ids(), child_ids(), directory_entry_count()
  • Navegar por ruta: find_child_by_name(), resolve_path()
  • Inspeccionar nodos: cfb_node::is_storage(), cfb_node::is_stream(), creation_time(), modified_time()
  • Escribir contenedores: cfb_writer::to_bytes(), cfb_writer::write_file(), cfb_writer::write_stream()

Lectura y escritura de archivos MSG

El subsistema MSG maneja el formato de mensaje de Outlook sobre CFB.

ClasePropósito
msg_readerAbrir y analizar archivos MSG
msg_writerSerializar documentos MSG
msg_documentRepresentación en memoria de un archivo MSG

Operaciones clave:

  • Abrir archivos MSG: msg_reader::from_file(), msg_reader::from_stream()
  • Inspeccionar metadatos: msg_document::major_version(), msg_document::minor_version(), msg_document::strict()
  • Escribir archivos MSG: msg_writer::to_bytes(), msg_writer::write_file(), msg_writer::write_stream()
  • Convertir a CFB: msg_document::to_cfb_document() para acceso de bajo nivel CFB

API de Mensaje MAPI de Alto Nivel

La clase mapi_message proporciona una interfaz de alto nivel para crear, leer y convertir mensajes de correo electrónico.

Creando mensajes:

  • mapi_message::create() — crear un nuevo mensaje con asunto y cuerpo
  • set_subject(), set_body(), set_html_body() — establecer el contenido del mensaje
  • set_sender_name(), set_sender_email_address(), set_sender_address_type() — establecer el remitente
  • set_internet_message_id() — establecer el encabezado Message-ID
  • set_message_class() — establecer la clase de mensaje MAPI
  • unicode_strings() / set_unicode_strings() — controlar la codificación de cadenas Unicode

Cargando mensajes:

  • mapi_message::from_file() — cargar desde una ruta de archivo
  • mapi_message::from_stream() — cargar desde un flujo de entrada
  • mapi_message::from_msg_document() — cargar desde un msg_document

Guardando mensajes:

  • save() — serializar a bytes, flujo o archivo
  • to_msg_document() — convertir a un msg_document para acceso de bajo nivel

Adjuntos:

  • mapi_attachment::from_bytes(), mapi_attachment::from_stream() — cargar datos del adjunto
  • mapi_attachment::is_embedded_message() — comprobar si el adjunto es un MSG incrustado
  • mapi_attachment::load_data() — cargar perezosamente el contenido del adjunto

Propiedades MAPI:

  • mapi_property::property_id(), property_type(), property_tag() — identificación de propiedades
  • mapi_property::set_value(), flags(), set_flags() — manipulación de propiedades
  • mapi_property_collection::remove() — eliminar propiedades de una colección

Conversión de EML y MIME

Convertir entre el formato Outlook MSG y el estándar EML (RFC 5322 / MIME):

  • mapi_message::load_from_eml() — analizar un archivo .eml en un mapi_message
  • mapi_message::save_to_eml() — serializar un mapi_message al formato EML

El asunto, el cuerpo, el remitente, los destinatarios y los archivos adjuntos se conservan a través de viajes de ida y vuelta.


Enumeraciones y Constantes

EnumPropósito
common_message_property_idIdentificadores estándar de propiedades MAPI (asunto, cuerpo, remitente, adjuntos)
property_type_codeCódigos de tipo de propiedad MAPI (entero, cadena, binario, tiempo, GUID)
msg_storage_roleRoles de almacenamiento dentro de archivos MSG (mensaje, destinatario, adjunto)
directory_object_typeTipos de entradas de directorio CFB (almacenamiento, flujo, raíz)
directory_color_flagBanderas de color de árbol rojo‑negro para entradas de directorio CFB
sector_markerValores especiales de sector en tablas de asignación de archivos CFB
 Español