Aspose.Email FOSS för C++ är ett MIT-licensierat, öppen källkod C++-bibliotek för att arbeta med Microsoft Outlook .msg-filer och Compound File Binary (CFB)-behållare. Inkludera rubrikerna via CMake och börja omedelbart läsa, skapa och bearbeta e‑postmeddelanden utan att installera Microsoft Outlook eller någon proprietär runtime.
Biblioteket erbjuder två åtkomstnivåer. På låg nivå ger cfb_reader och cfb_writer full kontroll över CFB-binära behållare — traversera katalogposter, läsa och skriva lagringsnoder och strömdatat, och inspektera den råa sektorlayouten. msg_reader och msg_writer hanterar MSG-formatet ovanpå CFB, exponerar MAPI‑egenskapsströmmar, mottagartabeller och bilagors underlagringar. På hög nivå låter mapi_message dig skapa nya meddelanden från grunden, läsa ämnen, kroppar, mottagare och bilagor, samt konvertera mellan MSG‑ och EML‑format.
Biblioteket bygger på vilken plattform som helst med en C++17‑kompilator och har inga externa beroenden, vilket gör det lämpligt för Windows, Linux, macOS, Docker‑behållare och inbäddade system.
En företagsutgåva med ytterligare funktioner erbjuds som Aspose.Email for C++.
cfb_reader::from_file(), cfb_reader::from_stream() eller cfb_reader::from_bytes().storage_ids(), stream_ids() och child_ids() och navigera i inneslutna hierarkier medresolve_path().cfb_node::is_storage() och cfb_node::is_stream(), läser tidsstämplar via creation_time() og modified_time().cfb_document och seriera till byte eller fil via cfb_writer::to_bytes() eller cfb_writer::write_file()..msg -filer Direkt tillgång till CF B möjliggör rättsmedicinsk inspektion och reparation.msg_reader::from_file() eller msg_reader::from_stream() och få tillgång till underliggande MAPI-egendomströmmar och bifogade sublagringar.msg_document med msg_writer::to_bytes() eller msg_writer::write_file().msg_document::major_version(), msg_document::minor_version() och kontroll av stränghet med msg_document::strict().msg_document::to_cfb_document()..msg filer från arkivkataloger och extrahera metadata eller bilagor.mapi_message::create(), ställa sedan in ämne, kropp och HTML-kropp via set_subject(), set_body() och set_html_body().set_sender_name(), set_sender_email_address() och set_sender_address_type() för det utgående meddelandet.mapi_attachment::from_bytes() och mapi_attachment::from_stream(), och kontrollera om det finns inbäddade meddelanden via is_embedded_message().mapi_message::save() och laddar om medmapi_message::from_file() eller mapi_message::from_stream()..eml fil (RFC 5322 / MIME) till ett fullt mapi_message objekt via mapi_message::load_from_eml().mapi_message tillbaka till MIME-format med save_to_eml()..eml och .msg-filer till ett enda format.Öppna en Outlook MSG-fil från ett ström och skriva ut ämnet ingen Microsoft Outlook krävs.
#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';
}
Skapa ett komplett e-postmeddelande med avsändare, mottagare och bifogade filer. Skriv sedan det i både MSG- och 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);
}