メッセージの添付ファイルの操作

添付ファイルの解析と保存

Outlook メッセージファイルは 1 つ以上の添付ファイルを含むことがあります。Aspose.Email は開発者が MSG ファイル内の添付ファイルをループ処理し、ディスクに保存できるようにします。本項ではその手順を説明し、添付ファイルを埋め込む方法も紹介します。

Aspose.Email MapiMessage このクラスはディスクから MSG ファイルを読み込み、… を提供します。 getAttachments() 参照するメソッド MapiAttachment MSG ファイルに関連付けられたオブジェクトコレクションです。 MapiAttachment オブジェクトはさらに、添付ファイルに対する操作を行うメソッドを公開します。

元の名前と拡張子で MSG ファイルの添付ファイルをディスクに保存するには:

  1. インスタンスを作成します MapiMessage クラスは、次を使用して MSG ファイルをロードします Load() 静的メソッド。
  2. 呼び出す MapiRecipient クラス getAttachments() コレクションへの参照を取得するメソッド MapiAttachment MSG ファイルに関連付けられたオブジェクト。
  3. ループで回す MapiAttachmentCollection 各…の内容を表示するために MapiAttachment オブジェクトの公開メソッドを通じて。
  4. 呼び出す MapiAttachment クラス save() 添付ファイルをディスクに保存するメソッド。  

メッセージの添付としての埋め込み

Microsoft Outlook メッセージは、添付ファイルとして他の Outlook メッセージを、上記の通常メッセージまたは埋め込みメッセージとして含めることができます。The MapiAttachmentCollection add メソッドのオーバーロードされたメンバーを提供し、両方のタイプの添付ファイルを持つ Outlook メッセージを作成できます。MSG ファイルに埋め込まれた Outlook MSG ファイルは、値 5 の PR_ATTACH_METHOD を含みます。

添付ファイルから埋め込みメッセージを読み取る

添付ファイルの MSG 挿入と置換

Aspose.Email API は、親メッセージ内の特定のインデックスに添付ファイルを挿入する機能を提供します。また、添付ファイルの内容を別のメッセージ添付で置き換える機能も提供します。

特定の位置に MSG 添付を挿入

Aspose.Email API は、親 MSG に MSG 添付ファイルを挿入する機能を提供します。 MapiAttachmentCollection.Insert() メソッド。

埋め込み MSG 添付内容の置換

これを使用して埋め込み添付の内容を新しいものに置き換えることができます。 置換 メソッドです。ただし、collection.Count = 2 のコレクションに PR_ATTACH_NUM = 4(例)の添付ファイルを挿入することはできません。

デジタル署名されたメッセージから添付ファイルを保存

Aspose.Email API は、クリア署名メッセージをデコードするかどうかを示す値を取得または設定する機能を提供します。 

MapiMessage の添付ファイルの名前変更

Aspose.Email は、… を編集できるようにします。 表示名 プロパティ値です MapiMessage の添付ファイル.

以下のコードサンプルは、ロードした MapiMessage 内の最初と2番目の添付ファイルの表示名を更新する方法を示します。

MapiMessage msg = MapiMessage.load(fileName);
msg.getAttachments().get_Item(0).setDisplayName("New display name 1");
msg.getAttachments().get_Item(1).setDisplayName("New display name 2");

添付ファイルがインラインか通常かを確認

インライン添付と通常添付の違いは、メール内での表示方法です。インライン添付はメール本文に埋め込まれており、別ファイルを開いたりダウンロードしたりすることなく表示できます。一方、通常添付はメール本文とは別のファイルとして添付されており、本文に直接表示されず、ダウンロードして外部で開く必要があります。 MapiAttachment.IsInline プロパティ( MapiAttachment クラスは、添付ファイルがインラインか通常かを示す値を取得します。

以下のコードサンプルは、ファイルからメールメッセージをロードし、添付ファイルの情報を取得します。具体的には、各添付ファイルの表示名とメッセージ内でインラインかどうかを出力します。

MapiMessage message = MapiMessage.load("fileName");

for (MapiAttachment attach : message.getAttachments()) {
    System.out.println(attach.getDisplayName() + ": " + attach.isInline());
}