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

Aspose.Email FOSS for C++

Lire, créer et traiter les fichiers Outlook MSG et les conteneurs CFB depuis C++ — gratuit et open‑source, sans dépendance à Microsoft Outlook.

Bibliothèque C++ Open-Source pour les fichiers MSG et CFB

FOSS pour C++ est une bibliothèque open source en C++, sous licence MIT, permettant de travailler avec les fichiers Microsoft Outlook .msg et les conteneurs Compound File Binary (CFB). Incluez les en-têtes via CMake et commencez immédiatement à lire, créer et traiter des messages électroniques sans installer Microsoft Excel ou tout temps d’exécution propriétaire.

La bibliothèque fournit deux niveaux d’accès. Au niveau inférieur, cfb_reader et cfb_writer donnent un contrôle complet sur les conteneurs binaires CFB entrées de répertoire transversales, lisent et écrivent des nœuds de stockage et des données en flux, et inspectent la mise en page du secteur brut. msg_reader Et msg_writer gèrent le format MSG au-dessus de CF B, exposant les flux de propriétés MAPI, les tables destinataires et les sous-stockages d’attachements. À haut niveau,mapi_message vous permet de créer de nouveaux messages à partir de zéro, lire des sujets, des destinitaires, ainsi que des corps, puis convertir entre le formats MS G et EML. La bibliothèque se construit sur n’importe quelle plate-forme avec un compilateur C++17 et ne dispose d’aucune dépendance externe, ce qui la rend adaptée à Windows, Linux, macOS, conteneurs Docker et systèmes embarqués. Une édition d’entreprise avec des fonctionnalités supplémentaires est proposée sous le nom de Aspose.Email for C++.

Contenant CFB Lire et écrire

  • ** Ouvrez des fichiers CFB:** Chargez les conteneurs CF B existants à partir d’un chemin de fichage, un flux ou une matrice en octets via cfb_reader::from_file(), cfb_reader::from_stream() ou cfb_reader::from_bytes().
  • ** Traverser l’arbre de répertoires:** Enumérer les stocks et flux en utilisant storage_ids(), stream_ids() et child_ids() , et naviguer dans des hiérarchies imbriquées avec resolve_path().
  • ** Inspecter les nœuds:** Vérifiez le type de nœud avec cfb_node::is_storage() et cfb_node::is_stream(), lisez les horodatages via creation_time() ou modified_time().
  • Ecrire des conteneurs CFB: Construire les documents CF B de manière programmatique avec cfb_document et sérialiser en octets ou fichiers via cfb_writer::to_bytes() ou cfb_writer::write_file().

Où l'accès CFB est utilisé

  • ** Inspection de fichiers MSG:** CFB est le format conteneur pour les fiches Outlook .msg l’accès direct à CF B permet une inspection et réparation médico-légales.
  • Formats binaires personnalisés: Toute application ancienne utilisant CFB pour le stockage de données peut être lue ou écrite sans dépendance COM.
  • Récupération de données: Parcourez l’arbre complet des répertoires et extraisez les octets bruts du flux à partir de fichiers CFB endommagés ou non standard.

Fichier MSG Lire et écrire

  • Lire les fichiers MSG: Ouvrez des fiches Outlook MS G avec msg_reader::from_file() ou msg_reader::from_stream() et accédez aux flux de propriétés MAPI sous-jacents et aux sous - stockages d’attachements.
  • ** Écrire des fichiers MSG:** Produire les fiches MS G à partir d’un msg_document avec msg_writer::to_bytes() ou msg_writer::write_file().
  • ** Inspection du document MSG:** Accéder aux métadonnées de version via msg_document::major_version(), msg_document::minor_version() et vérifier la stricte rigueur avec msg_document::strict().
  • ** Convertir en CFB:** Extrait le document de base du CF B à partir d’un fichier MSG via msg_document::to_cfb_document().

Où le traitement du GMS est utilisé

  • ** Pipelines d’archives de courrier électronique:** Lire en masse .msg fichiers à partir des répertoires d"archive et extraire les métadonnées ou pièces jointes.
  • Outils de migration: Convertir les collections MSG en formats standard pour l’import dans des systèmes autres que Outlook.
  • ** Découverte légale:** Pars des flux de propriétés MAPI brutes pour extraire tous les champs de message, y compris les propriété non standard.

API de message MAPI à haut niveau

  • ** Créer des messages:** Créez un e-mail complet avec mapi_message::create(), puis définissez le sujet, le corps et le texte HTML via set_subject(), set_body() et set_html_body().
  • ** Définir les détails de l’expéditeur:** Configurer set_sender_name(), set_sender_email_address() et set_sender_address_type() pour le message sortant.
  • ** Gérer les pièces jointes:** Charger des piècedis attachés à partir de octets ou flux avec mapi_attachment::from_bytes() et mapi_attachment::from_stream(), et vérifier si des messages sont intégrés via is_embedded_message().
  • ** Sauvegarder et recharger:** Sérialiser avec mapi_message::save() et charger à nouveau avecmapi_message::from_file() ou mapi_message::from_stream().

Où l'API de haut niveau est utilisée

  • Génération automatique de courrier électronique: Générer des milliers de fichiers MSG personnalisés à partir d’enregistrements de données en lots.
  • ** Création de dispositifs d’essai:** Construire des fichiers MSG connus pour leur contenu prévisible, destinés aux suites de tests d"intégration.
  • ** Extrait de pièces jointes:** Chargez un fichier MSG, répétez les piècedis et enregistrez chacune sur disque.

Conversion EML et MIME

  • ** Charger EML dans mapi_message:** Parser un fichier standard .eml (RFC 5322 / MIME) en un objet complet mapi_message par l’intermédiaire de mapi_message::load_from_eml().
  • ** Enregistrer mapi_message en EML:** Sérialiser un mapi_message vers le format MIME avec save_to_eml().
  • Fidélité aller-retour: Le sujet, le corps, l’expéditeur, les destinataires et les pièces jointes sont conservés par des allers-repas EML à MSG à EM L.

Où la conversion EML est utilisée

  • **Reception de courriels sous forme EML à partir des serveurs de messagerie et conversion en MSG pour un stockage compatible avec Outlook.
  • ** Conformité aux normes:** Convertir les fichiers MSG propriétaires en MIME standard pour la livraison à tout transport de courrier.
  • ** Normalité des archives:** Normalizer une archive mixte de fichiers .eml et .msg dans un seul format.

Lire le sujet d’un fichier MSG

Ouvrez un fichier Outlook MSG à partir d’un flux et imprimez le sujet aucun Microsoft Outlook requis.

#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';
}

Créer et enregistrer un message MSG

Créez un e-mail complet avec l’expéditeur, le destinataire et la pièce jointe, puis écrivez-le aux formats MSG et 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);
}
  

Ressources de support et d'apprentissage

 Français