機能
機能概要
Aspose.Email FOSS for C++ は、Outlook MSG ファイルおよび Compound File Binary (CFB) コンテナを操作するための階層化された API を提供します。ライブラリには、26 の公開クラスがあり、2 つのサブシステム(CFB と MSG/MAPI)にまたがります。
CFB コンテナ アクセス
CFBサブシステムはMicrosoft Compound File Binary形式を読み書きします — Outlook .msg ファイルの基盤となるコンテナ形式です。
| クラス | 目的 |
|---|---|
cfb_reader | 既存のCFBファイルを開き、走査する |
cfb_writer | CFBドキュメントをバイト列またはファイルにシリアライズする |
cfb_document | CFBファイルのメモリ内表現 |
cfb_node | ディレクトリツリー内の個別のストレージまたはストリームノード |
cfb_storage | 名前付きストレージエントリ |
cfb_stream | バイナリデータを持つ名前付きストリーム |
主な操作:
- ファイル、ストリーム、またはバイトから開く:
cfb_reader::from_file(),cfb_reader::from_stream(),cfb_reader::from_bytes(),cfb_reader::from_buffer() - コンテンツを列挙:
storage_ids(),stream_ids(),child_ids(),directory_entry_count() - パスでナビゲート:
find_child_by_name(),resolve_path() - ノードを検査:
cfb_node::is_storage(),cfb_node::is_stream(),creation_time(),modified_time() - コンテナを書き込む:
cfb_writer::to_bytes(),cfb_writer::write_file(),cfb_writer::write_stream()
MSG ファイルの読み取りと書き込み
MSGサブシステムは、CFBの上にOutlookメッセージ形式を処理します。
| クラス | 目的 |
|---|---|
msg_reader | MSG ファイルを開いて解析する |
msg_writer | MSG ドキュメントをシリアライズする |
msg_document | MSG ファイルのメモリ内表現 |
主な操作:
- MSG ファイルを開く:
msg_reader::from_file(),msg_reader::from_stream() - メタデータを検査:
msg_document::major_version(),msg_document::minor_version(),msg_document::strict() - MSG ファイルを書き込む:
msg_writer::to_bytes(),msg_writer::write_file(),msg_writer::write_stream() - CFB に変換:
msg_document::to_cfb_document()(低レベル CFB アクセス用)
ハイレベル MAPI メッセージ API
mapi_message クラスは、メールメッセージの作成、読み取り、変換のためのハイレベルなインターフェイスを提供します。
メッセージの作成:
mapi_message::create()— 件名と本文で新しいメッセージを作成するset_subject(),set_body(),set_html_body()— メッセージ内容を設定するset_sender_name(),set_sender_email_address(),set_sender_address_type()— 送信者を設定するset_internet_message_id()— Message-ID ヘッダーを設定するset_message_class()— MAPI メッセージ クラスを設定するunicode_strings()/set_unicode_strings()— Unicode 文字列エンコーディングを制御する
メッセージを読み込み中:
mapi_message::from_file()— ファイルパスからロードmapi_message::from_stream()— 入力ストリームからロードmapi_message::from_msg_document()—msg_documentからロード
メッセージの保存:
save()— バイト、ストリーム、またはファイルにシリアライズするto_msg_document()— 低レベルアクセス用にmsg_documentに変換する
添付ファイル:
mapi_attachment::from_bytes(),mapi_attachment::from_stream()— 添付データをロードするmapi_attachment::is_embedded_message()— 添付が埋め込みMSGかどうかを確認するmapi_attachment::load_data()— 添付コンテンツを遅延ロードする
MAPI プロパティ:
mapi_property::property_id(),property_type(),property_tag()— プロパティの識別mapi_property::set_value(),flags(),set_flags()— プロパティの操作mapi_property_collection::remove()— コレクションからプロパティを削除
EML と MIME の変換
Outlook MSG形式と標準EML(RFC 5322 / MIME)間の変換:
mapi_message::load_from_eml()—.emlファイルをmapi_messageに解析するmapi_message::save_to_eml()—mapi_messageを EML 形式にシリアライズする
件名、本文、送信者、受信者、および添付ファイルは、往復処理でも保持されます。
列挙型と定数
| 列挙型 | 目的 |
|---|---|
common_message_property_id | 標準MAPIプロパティ識別子(件名、本文、送信者、添付ファイル) |
property_type_code | MAPIプロパティタイプコード(整数、文字列、バイナリ、時間、GUID) |
msg_storage_role | MSGファイル内のストレージロール(メッセージ、受信者、添付ファイル) |
directory_object_type | CFBディレクトリエントリタイプ(ストレージ、ストリーム、ルート) |
directory_color_flag | CFBディレクトリエントリの赤黒木カラー フラグ |
sector_marker | CFBファイル割り当てテーブルの特別セクタ値 |