Funktionen
Funktionsübersicht
Aspose.Email FOSS for C++ bietet eine mehrschichtige API zum Arbeiten mit Outlook MSG-Dateien und Compound File Binary (CFB) Container. Die Bibliothek hat 26 öffentliche Klassen in zwei Subsystemen: CFB und MSG/MAPI.
CFB Containerzugriff
Das CFB-Subsystem liest und schreibt das Microsoft Compound File Binary‑Format — das Containerformat, das Outlook .msg‑Dateien zugrunde liegt.
| Klasse | Zweck |
|---|---|
cfb_reader | Öffnen und Durchlaufen vorhandener CFB-Dateien |
cfb_writer | Serialisieren von CFB-Dokumenten in Bytes oder Dateien |
cfb_document | In‑Memory‑Darstellung einer CFB-Datei |
cfb_node | Einzelner Speicher‑ oder Stream‑Knoten im Verzeichnisbaum |
cfb_storage | Benannter Speichereintrag |
cfb_stream | Benannter Stream mit Binärdaten |
Wichtige Vorgänge:
- Öffnen aus Datei, Stream oder Bytes:
cfb_reader::from_file(),cfb_reader::from_stream(),cfb_reader::from_bytes(),cfb_reader::from_buffer() - Inhalte auflisten:
storage_ids(),stream_ids(),child_ids(),directory_entry_count() - Nach Pfad navigieren:
find_child_by_name(),resolve_path() - Knoten inspizieren:
cfb_node::is_storage(),cfb_node::is_stream(),creation_time(),modified_time() - Container schreiben:
cfb_writer::to_bytes(),cfb_writer::write_file(),cfb_writer::write_stream()
MSG-Datei lesen und schreiben
Das MSG-Subsystem verarbeitet das Outlook-Nachrichtenformat auf Basis von CFB.
| Klasse | Zweck |
|---|---|
msg_reader | Öffnen und Parsen von MSG-Dateien |
msg_writer | Serialisieren von MSG-Dokumenten |
msg_document | Speicherinterne Darstellung einer MSG-Datei |
Wichtige Vorgänge:
- MSG-Dateien öffnen:
msg_reader::from_file(),msg_reader::from_stream() - Metadaten prüfen:
msg_document::major_version(),msg_document::minor_version(),msg_document::strict() - MSG-Dateien schreiben:
msg_writer::to_bytes(),msg_writer::write_file(),msg_writer::write_stream() - In CFB konvertieren:
msg_document::to_cfb_document()für den Low-Level-CFB-Zugriff
High-Level MAPI-Nachrichten-API
Die mapi_message‑Klasse bietet eine hochrangige Schnittstelle zum Erstellen, Lesen und Konvertieren von E‑Mail‑Nachrichten.
Erstellen von Nachrichten:
mapi_message::create()— eine neue Nachricht mit Betreff und Text erstellenset_subject(),set_body(),set_html_body()— Nachrichteninhalt festlegenset_sender_name(),set_sender_email_address(),set_sender_address_type()— Absender festlegenset_internet_message_id()— den Message-ID-Header festlegenset_message_class()— MAPI-Nachrichtenklasse festlegenunicode_strings()/set_unicode_strings()— Unicode‑String‑Kodierung steuern
Nachrichten werden geladen:
mapi_message::from_file()— aus einem Dateipfad ladenmapi_message::from_stream()— aus einem Eingabestream ladenmapi_message::from_msg_document()— aus einemmsg_documentladen
Nachrichten speichern:
save()— serialisieren zu Bytes, Stream oder Dateito_msg_document()— konvertieren in einmsg_documentfür Low-Level-Zugriff
Anhänge:
mapi_attachment::from_bytes(),mapi_attachment::from_stream()— Anhangsdaten ladenmapi_attachment::is_embedded_message()— prüfen, ob Anhang eine eingebettete MSG istmapi_attachment::load_data()— Lazy-Load des Anhanginhalts
MAPI-Eigenschaften:
mapi_property::property_id(),property_type(),property_tag()— Eigenschaftsidentifikationmapi_property::set_value(),flags(),set_flags()— Eigenschaftsmanipulationmapi_property_collection::remove()— Eigenschaften aus einer Sammlung entfernen
EML und MIME-Konvertierung
Konvertieren zwischen Outlook‑MSG-Format und dem Standard‑EML (RFC 5322 / MIME):
mapi_message::load_from_eml()— eine.eml‑Datei in einmapi_messageparsenmapi_message::save_to_eml()— einmapi_messagein das EML‑Format serialisieren
Betreff, Text, Absender, Empfänger und Anhänge bleiben bei Rundläufen erhalten.
Aufzählungen und Konstanten
| Enum | Zweck |
|---|---|
common_message_property_id | Standard-MAPI-Property-IDs (Betreff, Text, Absender, Anhänge) |
property_type_code | MAPI-Property-Typcodes (Ganzzahl, Zeichenkette, Binär, Zeit, GUID) |
msg_storage_role | Speicherrollen in MSG-Dateien (Nachricht, Empfänger, Anhang) |
directory_object_type | CFB-Verzeichniseintragstypen (Speicher, Stream, Root) |
directory_color_flag | Rot‑Schwarz‑Baum‑Farbflags für CFB-Verzeichniseinträge |
sector_marker | Spezielle Sektorwerte in CFB-Dateiallokationstabellen |