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. Include de headers via CMake en begin onmiddellijk met het lezen, maken en verwerken van e‑mailberichten zonder Microsoft Outlook of enige propriëtaire runtime te installeren.
De bibliotheek biedt twee niveaus van toegang. Op het lage 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‑eigenschap‑streams, ontvangerstabellen en bijlage‑sub‑storages toegankelijk. Op het hoge 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 bouwt 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 navigeer door geneste hiërarchieën met resolve_path().cfb_node::is_storage() en cfb_node::is_stream(), lees tijdstempels via creation_time() en modified_time().cfb_document en serialiseer naar bytes of bestand via cfb_writer::to_bytes() of cfb_writer::write_file()..msg bestanden — directe CFB-toegang maakt forensische inspectie en reparatie mogelijk.msg_reader::from_file() of msg_reader::from_stream() en krijg toegang tot de onderliggende MAPI‑eigenschapsstreams en bijlage‑subopslagplaatsen.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 archiefmappen en extraheer metadata of bijlagen.mapi_message::create(), stel vervolgens onderwerp, body en HTML body in 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 ingesloten berichten via is_embedded_message().mapi_message::save() en laad opnieuw met mapi_message::from_file() of mapi_message::from_stream()..eml bestand (RFC 5322 / MIME) naar een volledig mapi_message object via mapi_message::load_from_eml().mapi_message terug naar MIME-indeling met save_to_eml()..eml en .msg bestanden naar één formaat.Open een Outlook MSG‑bestand vanuit een stream en druk het onderwerp af — geen Microsoft Outlook vereist.
#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';
}
Bouw een volledige e‑mail met afzender, ontvanger en bijlage, en schrijf deze vervolgens naar 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);
}