1. Productos
  2.   Aspose.Email
  3.   Aspose.Email FOSS for C++

Aspose.Email FOSS for C++

Leer, crear y procesar archivos Outlook MSG y contenedores CFB desde C++ — gratuito y de código abierto, sin dependencia de Microsoft Outlook.

Biblioteca de código abierto C++ para archivos MSG y CFB

Aspose.Email FOSS para C++ es una biblioteca de código abierto y licenciada por MIT para trabajar con los archivos de Microsoft Outlook .msg y contenedores de archivo binario (CFB). Incluye los títulos a través de CMake y comience inmediatamente leyendo, creando y procesando mensajes de correo electrónico sin instalar Microsoft Outlooku o cualquier tiempo de trabajo propiedad.

La biblioteca proporciona dos niveles de acceso. en el nivel bajo, cfb_reader y cfb_writer dan control completo sobre los contenedores binarios CFB - cruzar las entradas de directorio, leer y escribir nodos de almacenamiento y datos de flujo, e inspeccionar la disposición del sector crudo. msg_reader e msg_writer manejan el formato MSG en la parte superior de CFb, exponen los flujos de propiedad MAPI, tablas de recipientes, y sub-stores de adhesión. En el alto nivel,mapi_message le permite crear nuevos mensajes desde escratch, leyendo sujetos, cuerpos, receptores y adjuntos y converter entre el formato MSL y EML. La biblioteca se construye en cualquier plataforma con un compilador C++17 y no tiene dependencias externas, lo que la hace adecuada para Windows, Linux, macOS, contenedores Docker y sistemas integrados. Se ofrece una edición empresarial con características adicionales como Aspose.Email for C++.

Contenedores CFB Leer y escribir

  • Open CFB ficheros: Cargar contenedores de CFD existentes desde un camino de archivo, flujo o array de bytes a través de cfb_reader::from_file(), cfb_reader::from_stream() o cfb_reader::from_bytes().
  • Corriendo el árbol de directorios: Enumera los almacenes y flujos utilizando storage_ids(), stream_ids() y child_ids() , y navega las hierarquías nestas con resolve_path().
  • Nodos de inspección: Véase el tipo de nodo con cfb_node::is_storage() y cfb_node::is_stream(), lee las timestamps a través de creation_time() e modified_time().
  • Escribe contenedores CFB: Construye documentos CFb de forma programática con cfb_document y se serializan a bajetas o archivos a través de cfb_writer::to_bytes() o cfb_writer::write_file().

Dónde se utiliza el acceso CFB

  • Inspección de archivos MSG: CFB es el formato de contenedor para los archivo de Outlook .msg — acceso directo a CFD permite la inspección y reparación forense.
  • Formatos binarios personalizados: Cualquier aplicación de herencia que utilice CFB para almacenamiento de datos puede ser leído o escrito sin una dependencia COM.
  • Recuperación de datos: Caminar por el árbol de directorio completo y extraer bajetas de corriente cruda de archivos CFB dañados o no estándar.

MSG File Leer y escribir

  • Lerga los archivos MSG: Abra los ficheros MS G de Outlook con msg_reader::from_file() o msg_reader::from_stream() y acceda a las substramas de propiedades MAPI y sub-encuentros de adhesiones.
  • Escribe archivos MSG: Produce archivo MSM de un msg_document con msg_writer::to_bytes() o msg_writer::write_file().
  • Inspección de documentos MSG: Acceso a los metadatos de la versión a través de msg_document::major_version(), msg_document::minor_version() y comprobar la estrictidad con msg_document::strict().
  • Convertir a CFB: Extraer el documento de CFV subyacente de un archivo MSG a través de msg_document::to_cfb_document().

Dónde se utiliza el procesamiento MSG

  • Púpoles de archivo de correo electrónico: Los archivos de lectura en gran parte .msg provienen de los directorios de Archivo y extraen metadatos o anexos.
  • Tools de migración: Convertir las colecciones MSG en formatos estándar para la importación a sistemas no Outlook.
  • Descubrimiento legal: Parse ricos flujos de propiedades MAPI para extraer todos los campos de mensaje, incluyendo las propicias no estándar.

MAPI de alto nivel API de mensajes

  • Crear mensajes: Construye un correo electrónico completo con mapi_message::create(), luego fija el sujeto, cuerpo y cuerpo HTML a través de set_subject() , set_body() y set_html_body().
  • Sete los detalles del envío: Configure set_sender_name(), set_sender_email_address() y set_sender_address_type() para el mensaje saliente.
  • Gestión de anexos: Carga los an Extensios de bajas o corrientes con mapi_attachment::from_bytes() y mapi_attachment::from_stream(), y véase para mensajes incorporados a través de is_embedded_message().
  • Salva y recarga: Serialize con mapi_message::save() y ricar conmapi_message::from_file() o mapi_message::from_stream().

Dónde se utiliza la API de alto nivel

  • *Generar automaticamente el correo electrónico: Generar miles de archivos MSG personalizados desde los registros de datos en trabajos de grupo.
  • ** Creación de la ficha de prueba:** Construye archivos MSG conocidos y buenos con contenido previsible para suites de pruebas de integración.
  • ** Extracción de adhesivos:** Cargue un archivo MSG, iterate los adjetivos y salve cada uno al disco.

EML y MIME Conversión

  • Cargar EML en mapi_message: Parse un archivo estándar .eml (RFC 5322 / MIME) en un objeto completo mapi_message a través de mapi_message::load_from_eml().
  • Save mapi_message as EML: Serialize a mapi_message de vuelta al formato MIME con save_to_eml().
  • Fidelidad de la ruta redonda: El sujeto, el cuerpo, los enviados, las receptoras y los anexos se conservan a través de EML a MSG a EMM.

Dónde se utiliza la conversión EML

  • Formato de almacenaje: Recibe correos electrónicos como EML desde los servidores de correo y converta a MSG para almacenamiento compatible con Outlook.
  • Conformidad con los estándares: Convertir archivos MSG propiedad en MIME estándar para la entrega a cualquier transporte de correo.
  • **Normalizar archivos: Normalizar un archivo mixto de .eml y .msg en un formato único.

Leer el tema de un archivo MSG

Abra un archivo de Outlook MSG desde una corriente y imprime el tema — no se requiere Microsoft Outlook.

#include <fstream>
#include <iostream>

#include "aspose/email/foss/msg/mapi_message.hpp"

int main()
{
    std::ifstream input("sample.msg", std::ios::binary);
    auto message = aspose::email::foss::msg::mapi_message::from_stream(input);
    std::cout << message.subject() << '\n';
}

Crea y salva un mensaje MSG

Construye un correo electrónico completo con el remitente, recipiente y anexo, luego escriba en los formatos MSG y EML.

#include <fstream>

#include "aspose/email/foss/msg/mapi_message.hpp"

int main()
{
    auto message = aspose::email::foss::msg::mapi_message::create("Hello", "Body");
    message.set_sender_name("Alice");
    message.set_sender_email_address("alice@example.com");
    message.add_recipient("bob@example.com", "Bob");
    message.add_attachment("note.txt", std::vector<std::uint8_t>{'a', 'b', 'c'}, "text/plain");

    std::ofstream msg_output("hello.msg", std::ios::binary);
    message.save(msg_output);

    std::ofstream eml_output("hello.eml", std::ios::binary);
    message.save_to_eml(eml_output);
}
  

Recursos de soporte y aprendizaje

 Español