Aspose.Email FOSS voor C++ is een MIT-gelicentieerde, open-source C++-bibliotheek voor het werken met Microsoft Outlook .msg-bestanden en Compound File Binary (CFB)-containers. Voeg de headers toe via CMake en begin onmiddellijk met het lezen, maken en verwerken van e‑mailberichten zonder Microsoft Outlook of een propriëtaire runtime te installeren.
De bibliotheek biedt twee niveaus van toegang. Op laag niveau geven cfb_reader en cfb_writer volledige controle over CFB-binaire containers — doorloop directory‑items, lees en schrijf opslag‑knooppunten en stream‑data, en inspecteer de ruwe sectorindeling. msg_reader en msg_writer behandelen het MSG-formaat bovenop CFB, en maken MAPI‑eigenschapstreams, ontvangerstabellen en bijlage‑sub‑storages toegankelijk. Op hoog niveau laat mapi_message je nieuwe berichten vanaf nul maken, onderwerpen, inhoud, ontvangers en bijlagen lezen, en converteren tussen MSG- en EML-formaat.
De bibliotheek werkt op elk platform met een C++17-compiler en heeft geen externe afhankelijkheden, waardoor hij geschikt is voor Windows, Linux, macOS, Docker‑containers en embedded systemen.
Een enterprise‑editie met extra functies wordt aangeboden als Aspose.Email for C++.
cfb_reader::from_file(), cfb_reader::from_stream() of cfb_reader::from_bytes().storage_ids(), stream_ids(), en child_ids() , en navigeren in genestelde hiërarchieën metresolve_path().cfb_node::is_storage() en cfb_node::is_stream(), lees tijdstempels via creation_time() and modified_time().cfb_document en serialiseren naar bytes of bestanden via cfb_writer::to_bytes() of cfb_writer::write_file()..msg bestanden directe toegang tot CF B maakt forensisch onderzoek en reparatie mogelijk.msg_reader::from_file() of msg_reader::from_stream() en toegang tot de onderliggende MAPI eigenschap stromen en bijlagen sub-opslag.msg_document met msg_writer::to_bytes() of msg_writer::write_file().msg_document::major_version(), msg_document::minor_version() en controleer de strengheid met msg_document::strict().msg_document::to_cfb_document()..msg bestanden uit archiveringsmappen en extracteren metagegevens of bijlagen.mapi_message::create(), en vervolgens onderwerp, lichaam en HTML-lichaam instellen via set_subject(), set_body() en set_html_body().set_sender_name(), set_sender_email_address() en set_sender_address_type() voor het uitgaande bericht.mapi_attachment::from_bytes() en mapi_attachment::from_stream(), en controleer op ingebedde berichten via is_embedded_message().mapi_message::save() en opnieuw laden metmapi_message::from_file() of mapi_message::from_stream()..eml-bestand (RFC 5322 / MIME) analyseren naar een volledig mapi_message-object via mapi_message::load_from_eml().mapi_message terug naar MIME-formaat met save_to_eml()..eml en .msg bestanden tot één formaat normalisering.Open een Outlook MSG-bestand vanuit een stream en druk het onderwerp geen Microsoft Outlook nodig.
#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';
}
Maak een complete e-mail met afzender, ontvanger en bijlage. Schrijf het dan in zowel MSG als EML formaten.
#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);
}