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++.
cfb_reader::from_file(), cfb_reader::from_stream() ou cfb_reader::from_bytes().storage_ids(), stream_ids() et child_ids() , et naviguer dans des hiérarchies imbriquées avec resolve_path().cfb_node::is_storage() et cfb_node::is_stream(), lisez les horodatages via creation_time() ou modified_time().cfb_document et sérialiser en octets ou fichiers via cfb_writer::to_bytes() ou cfb_writer::write_file()..msg l’accès direct à CF B permet une inspection et réparation médico-légales.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.msg_document avec msg_writer::to_bytes() ou msg_writer::write_file().msg_document::major_version(), msg_document::minor_version() et vérifier la stricte rigueur avec msg_document::strict().msg_document::to_cfb_document()..msg fichiers à partir des répertoires d"archive et extraire les métadonnées ou pièces jointes.mapi_message::create(), puis définissez le sujet, le corps et le texte HTML via set_subject(), set_body() et set_html_body().set_sender_name(), set_sender_email_address() et set_sender_address_type() pour le message sortant.mapi_attachment::from_bytes() et mapi_attachment::from_stream(), et vérifier si des messages sont intégrés via is_embedded_message().mapi_message::save() et charger à nouveau avecmapi_message::from_file() ou mapi_message::from_stream()..eml (RFC 5322 / MIME) en un objet complet mapi_message par l’intermédiaire de mapi_message::load_from_eml().mapi_message vers le format MIME avec save_to_eml()..eml et .msg dans un seul format.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é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);
}