Aspose.Email FOSS for C++ er et MIT-licenseret, open-source C++-bibliotek til at arbejde med Microsoft Outlook .msg-filer og Compound File Binary (CFB)-containere. Inkluder headerne via CMake og begynd straks at læse, oprette og behandle e‑mailbeskeder uden at installere Microsoft Outlook eller nogen proprietær runtime.
Biblioteket giver to niveauer af adgang. På lavt niveau giver cfb_reader og cfb_writer fuld kontrol over CFB binære containere — gennemse mappeindgange, læse og skrive lagringsnoder og strømdata samt inspicere den rå sektorlayout. msg_reader og msg_writer håndterer MSG-formatet oven på CFB og eksponerer MAPI‑egenskabsstrømme, modtager‑tabeller og vedhæftnings‑sub‑lagre. På højt niveau lader mapi_message dig oprette nye beskeder fra bunden, læse emner, brødtekster, modtagere og vedhæftninger samt konvertere mellem MSG‑ og EML‑format.
Biblioteket bygger på enhver platform med en C++17-kompilator og har ingen eksterne afhængigheder, hvilket gør det egnet til Windows, Linux, macOS, Docker-containere og indlejrede systemer.
En enterprise‑udgave med ekstra funktioner tilbydes som Aspose.Email for C++.
cfb_reader::from_file(), cfb_reader::from_stream() eller cfb_reader::from_bytes().storage_ids(), stream_ids() og child_ids(), og naviger i indlejrede hierarkier med resolve_path().cfb_node::is_storage() og cfb_node::is_stream(), læs tidsstempler via creation_time() og modified_time().cfb_document og serialiser til bytes eller fil via cfb_writer::to_bytes() eller cfb_writer::write_file()..msg-filer — direkte CFB-adgang muliggør retsmedicinsk inspektion og reparation.msg_reader::from_file() eller msg_reader::from_stream() og få adgang til de underliggende MAPI‑egenskabsstrømme og vedhæftnings‑underlag.msg_document med msg_writer::to_bytes() eller msg_writer::write_file().msg_document::major_version(), msg_document::minor_version(), og tjek strenghed med msg_document::strict().msg_document::to_cfb_document()..msg filer fra arkivmapper og udtrække metadata eller vedhæftede filer.mapi_message::create(), og sæt derefter emne, brødtekst og HTML brødtekst via set_subject(), set_body() og set_html_body().set_sender_name(), set_sender_email_address() og set_sender_address_type() til den udgående besked.mapi_attachment::from_bytes() og mapi_attachment::from_stream(), og tjek for indlejrede meddelelser via is_embedded_message().mapi_message::save() og genindlæs med mapi_message::from_file() eller mapi_message::from_stream()..eml-fil (RFC 5322 / MIME) til et fuldt mapi_message-objekt via mapi_message::load_from_eml().mapi_message tilbage til MIME-format med save_to_eml()..eml og .msg filer til et enkelt format.Åbn en Outlook MSG-fil fra en strøm og udskriv emnet — ingen Microsoft Outlook påkrævet.
#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';
}
Byg en komplet e‑mail med afsender, modtager og vedhæftning, og skriv den derefter til både MSG- og EML-formater.
#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);
}