Outlook MSG ファイルの添付ファイル管理

Aspose.Email for C++ は、Microsoft Outlook MSG ファイルを扱う際に、添付ファイルのアクセス、保存、削除、埋め込みのための豊富な API を提供します。添付ファイルは次の機能を通じて処理されます。 MapiMessage クラス、使用する Attachments プロパティで、次のものを公開します: MapiAttachmentCollection.

MSG ファイルから添付ファイルを保存

MSG ファイルから添付ファイルを抽出して保存するには:

  1. 以下を使用してメッセージをロードします: MapiMessage::Load.
  2. 次を反復処理します MapiAttachmentCollection.
  3. 各添付ファイルを次の方法で保存します。 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 つの方法を提供します:

このメソッドはメッセージファイルのパスをパラメータとして受け取ります。パブリックな静的メソッドとして実装されているため、オブジェクトをインスタンス化する必要はありません。この静的ヘルパーメソッドは、メッセージファイルからすべての添付ファイルを削除します。

以下のコードスニペットは、このメソッドの使用方法を示しています。

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");