Fonctionnalités
Aperçu des fonctionnalités
Aspose.Email FOSS for C++ fournit une API à plusieurs niveaux pour travailler avec les fichiers Outlook MSG et
les conteneurs Compound File Binary (CFB). La bibliothèque comprend 26 classes publiques réparties sur deux
sous‑systèmes : CFB et MSG/MAPI.
Accès au conteneur CFB
Le sous‑système CFB lit et écrit le format Microsoft Compound File Binary — le format de conteneur sous‑jacent aux fichiers Outlook .msg.
| Classe | Objectif |
|---|---|
cfb_reader | Ouvrir et parcourir les fichiers CFB existants |
cfb_writer | Sérialiser les documents CFB en octets ou en fichiers |
cfb_document | Représentation en mémoire d’un fichier CFB |
cfb_node | Nœud de stockage ou de flux individuel dans l’arborescence du répertoire |
cfb_storage | Entrée de stockage nommée |
cfb_stream | Flux nommé contenant des données binaires |
Opérations clés :
- Ouvrir à partir d’un fichier, d’un flux ou d’octets :
cfb_reader::from_file(),cfb_reader::from_stream(),cfb_reader::from_bytes(),cfb_reader::from_buffer() - Énumérer le contenu :
storage_ids(),stream_ids(),child_ids(),directory_entry_count() - Naviguer par chemin :
find_child_by_name(),resolve_path() - Inspecter les nœuds :
cfb_node::is_storage(),cfb_node::is_stream(),creation_time(),modified_time() - Écrire les conteneurs :
cfb_writer::to_bytes(),cfb_writer::write_file(),cfb_writer::write_stream()
Lecture et écriture de fichiers MSG
Le sous‑système MSG gère le format de message Outlook au-dessus de CFB.
| Classe | Objectif |
|---|---|
msg_reader | Ouvrir et analyser les fichiers MSG |
msg_writer | Sérialiser les documents MSG |
msg_document | Représentation en mémoire d’un fichier MSG |
Opérations clés :
- Ouvrir les fichiers MSG :
msg_reader::from_file(),msg_reader::from_stream() - Inspecter les métadonnées :
msg_document::major_version(),msg_document::minor_version(),msg_document::strict() - Écrire des fichiers MSG :
msg_writer::to_bytes(),msg_writer::write_file(),msg_writer::write_stream() - Convertir en CFB :
msg_document::to_cfb_document()for low-level CFB access
API de message MAPI de haut niveau
La classe mapi_message fournit une interface de haut niveau pour créer, lire et convertir des messages électroniques.
Création de messages :
mapi_message::create()— créer un nouveau message avec sujet et corpsset_subject(),set_body(),set_html_body()— définir le contenu du messageset_sender_name(),set_sender_email_address(),set_sender_address_type()— définir l’expéditeurset_internet_message_id()— définir l’en-tête Message-IDset_message_class()— définir la classe de message MAPIunicode_strings()/set_unicode_strings()— contrôler le codage des chaînes Unicode
Chargement des messages :
mapi_message::from_file()— charger à partir d’un chemin de fichiermapi_message::from_stream()— charger à partir d’un flux d’entréemapi_message::from_msg_document()— charger à partir d’unmsg_document
Enregistrement des messages :
save()— sérialiser en octets, flux ou fichierto_msg_document()— convertir en unmsg_documentpour un accès bas‑niveau
Pièces jointes :
mapi_attachment::from_bytes(),mapi_attachment::from_stream()— charger les données de la pièce jointemapi_attachment::is_embedded_message()— vérifier si la pièce jointe est un MSG intégrémapi_attachment::load_data()— charger paresseusement le contenu de la pièce jointe
Propriétés MAPI:
mapi_property::property_id(),property_type(),property_tag()— identification de propriétésmapi_property::set_value(),flags(),set_flags()— manipulation de propriétésmapi_property_collection::remove()— supprimer des propriétés d’une collection
Conversion EML et MIME
Convertir entre le format Outlook MSG et le format EML standard (RFC 5322 / MIME) :
mapi_message::load_from_eml()— analyser un fichier.emlenmapi_messagemapi_message::save_to_eml()— sérialiser unmapi_messageau format EML
L’objet, le corps, l’expéditeur, les destinataires et les pièces jointes sont conservés lors des allers-retours.
Énumérations et constantes
| Enum | Objectif |
|---|---|
common_message_property_id | Identifiants de propriétés MAPI standard (objet, corps, expéditeur, pièces jointes) |
property_type_code | Codes de type de propriété MAPI (entier, chaîne, binaire, temps, GUID) |
msg_storage_role | Rôles de stockage dans les fichiers MSG (message, destinataire, pièce jointe) |
directory_object_type | Types d’entrée de répertoire CFB (stockage, flux, racine) |
directory_color_flag | Indicateurs de couleur d’arbre rouge-noir pour les entrées de répertoire CFB |
sector_marker | Valeurs de secteur spéciales dans les tables d’allocation de fichiers CFB |