Aspose.Email FOSS für C++ ist eine MIT‑lizenzierte, Open‑Source C++‑Bibliothek zum Arbeiten mit Microsoft Outlook .msg-Dateien und Compound File Binary (CFB)-Containern. Binden Sie die Header über CMake ein und beginnen Sie sofort mit dem Lesen, Erstellen und Verarbeiten von E‑Mail‑Nachrichten, ohne Microsoft Outlook oder eine proprietäre Laufzeit zu installieren.
Die Bibliothek bietet zwei Zugriffsebenen. Auf der niedrigen Ebene geben cfb_reader und cfb_writer die volle Kontrolle über CFB‑binäre Container — Verzeichniseinträge durchlaufen, Speicherknoten und Stream‑Daten lesen und schreiben sowie das rohe Sektor‑Layout inspizieren. msg_reader und msg_writer verarbeiten das MSG‑Format auf CFB‑Basis und stellen MAPI‑Eigenschafts‑Streams, Empfängertabellen und Anhang‑Unterspeicher bereit. Auf der hohen Ebene ermöglicht mapi_message das Erstellen neuer Nachrichten von Grund auf, das Lesen von Betreffzeilen, Körpern, Empfängern und Anhängen sowie die Konvertierung zwischen MSG‑ und EML‑Format.
Die Bibliothek lässt sich auf jeder Plattform mit einem C++17‑Compiler erstellen und hat keine externen Abhängigkeiten, wodurch sie für Windows, Linux, macOS, Docker‑Container und eingebettete Systeme geeignet ist.
Eine Enterprise-Edition mit zusätzlichen Funktionen wird als Aspose.Email for C++ angeboten.
cfb_reader::from_file(), cfb_reader::from_stream() oder cfb_reader::from_bytes().storage_ids(), stream_ids() und child_ids() und Navigieren durch verschachtelte Hierarchien mit resolve_path().cfb_node::is_storage() und cfb_node::is_stream(), lesen Sie Zeitstempel über creation_time() und modified_time().cfb_document und serialisieren Sie sie in Bytes oder in eine Datei über cfb_writer::to_bytes() oder cfb_writer::write_file()..msg-Dateien — direkter CFB-Zugriff ermöglicht forensische Inspektion und Reparatur.msg_reader::from_file() oder msg_reader::from_stream() und greifen Sie auf die zugrunde liegenden MAPI-Property-Streams und Anhang-Sub-Stores zu.msg_document mit msg_writer::to_bytes() oder msg_writer::write_file().msg_document::major_version(), msg_document::minor_version() zu und prüfen Sie die Striktheit mit msg_document::strict().msg_document::to_cfb_document()..msg Dateien aus Archivverzeichnissen lesen und Metadaten oder Anhänge extrahieren.mapi_message::create(), dann setzen Sie Betreff, Text und HTML-Text über set_subject(), set_body() und set_html_body().set_sender_name(), set_sender_email_address() und set_sender_address_type() für die ausgehende Nachricht.mapi_attachment::from_bytes() und mapi_attachment::from_stream(), und prüfen Sie auf eingebettete Nachrichten über is_embedded_message().mapi_message::save() und neu laden mit mapi_message::from_file() oder mapi_message::from_stream()..eml-Datei (RFC 5322 / MIME) in ein vollständiges mapi_message-Objekt über mapi_message::load_from_eml().mapi_message zurück in das MIME-Format mit save_to_eml()..eml- und .msg-Dateien zu einem einzigen Format.Öffnen Sie eine Outlook‑MSG‑Datei aus einem Stream und geben Sie den Betreff aus — kein Microsoft Outlook erforderlich.
#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';
}
Erstellen Sie eine vollständige E‑Mail mit Absender, Empfänger und Anhang und schreiben Sie sie anschließend in die Formate MSG und EML.
#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);
}