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 streamdata, og inspicere den rå sektorlayout. msg_reader og msg_writer håndterer MSG-formatet oven på CFB, eksponerer MAPI‑egenskabsstreams, 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, og konvertere mellem MSG‑ og EML‑format.
Biblioteket kan bygges 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‑edition 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 navigér indlejrede hierarkier med resolve_path().cfb_node::is_storage() og cfb_node::is_stream(), læs tidsstempler via creation_time() ogmodified_time().cfb_document og serialisér til byte eller fil via cfb_writer::to_bytes() eller cfb_writer::write_file()..msg filer direkte adgang til CF B muliggør retsmedicinske inspektioner og reparationer.msg_reader::from_file() eller msg_reader::from_stream() og få adgang til de underliggende MAPI-egenskaber strømme og vedhæftede sublagre.msg_document med msg_writer::to_bytes() eller msg_writer::write_file().msg_document::major_version(), msg_document::minor_version() og kontroller strengheden med msg_document::strict().msg_document::to_cfb_document()..msg filer fra arkivmapper og ekstrakt metadata eller vedhæftede filer.mapi_message::create(), og sæt derefter emne, krop og HTML-legeme 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 meddelelse.mapi_attachment::from_bytes() og mapi_attachment::from_stream(), og tjek for indlejrede meddelelser via is_embedded_message().mapi_message::save() og læs på ny medmapi_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 ét format.Åbn en Outlook MSG-fil fra et stream og printe emnet ingen Microsoft Outlook kræves.
#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';
}
Opbyg en komplet e-mail med afsender, modtager og vedhæftede filer. Skriv den derefter i både MSG- og EML-format.
#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);
}