Outlook MSG ファイルの添付ファイル管理
Aspose.Email for C++ は、Microsoft Outlook MSG ファイルを扱う際に、添付ファイルのアクセス、保存、削除、埋め込みのための豊富な API を提供します。添付ファイルは次の機能を通じて処理されます。 MapiMessage クラス、使用する Attachments プロパティで、次のものを公開します: MapiAttachmentCollection.
MSG ファイルから添付ファイルを保存
MSG ファイルから添付ファイルを抽出して保存するには:
- 以下を使用してメッセージをロードします: MapiMessage::Load.
- 次を反復処理します MapiAttachmentCollection.
- 各添付ファイルを次の方法で保存します。 MapiAttachment::Save() メソッド。
// Create an instance of MapiMessage from file
System::SharedPtr<MapiMessage> message = MapiMessage::Load(fileName);
// Iterate through the attachments collection
{
auto attachment_enumerator = (message->get_Attachments())->GetEnumerator();
decltype(attachment_enumerator->get_Current()) attachment;
while (attachment_enumerator->MoveNext() && (attachment = attachment_enumerator->get_Current(), true))
{
// Save the individual attachment
attachment->Save(dataDir + attachment->get_FileName());
}
}
添付ファイルを削除
Aspose.Email for C++ は、MSG ファイルから添付ファイルを削除する 2 つの方法を提供します:
- 呼び出す RemoveAttachments() メソッド**
このメソッドはメッセージファイルのパスをパラメータとして受け取ります。パブリックな静的メソッドとして実装されているため、オブジェクトをインスタンス化する必要はありません。この静的ヘルパーメソッドは、メッセージファイルからすべての添付ファイルを削除します。
以下のコードスニペットは、このメソッドの使用方法を示しています。
- 呼び出す DestoryAttachment() メソッド**
MSG ファイルを完全に解析せずに添付ファイルを削除するため、処理が高速です。
MSG 添付ファイルを追加
MSG ファイルは、標準または埋め込み添付ファイルとして他の MSG ファイルを含めることができます。オーバーロードされた Add のメソッド MapiAttachmentCollection Outlook メッセージを埋め込むために。
以下のコードサンプルは、指定された送信者、受信者、件名、本文で新しい MAPI メッセージを作成し、既存の MSG ファイルを埋め込みメッセージとして添付し、最終的に埋め込み添付ファイル付きのメッセージを新しい MSG ファイルとして保存する方法を示しています。
System::SharedPtr<MapiMessage> message = System::MakeObject<MapiMessage>(L"from@test.com", L"to@test.com", L"Subj", L"This is a message body");
System::SharedPtr<MapiMessage> attachMsg = MapiMessage::Load(L"Message.msg");
message->get_Attachments()->Add(L"Weekly report.msg", attachMsg);
message->Save(dataDir + L"WithEmbeddedMsg_out.msg");