Javaを使用してOutlookMSGファイルを読み取る

MSGは、MSOutlookで使用される電子メールファイル形式です。これは、電子メール、連絡先、メッセージ、タスク、予定などを保存できるOutlookアイテムです。場合によっては、JavaアプリケーションでOutlook MSGファイルを読み取り、件名、受信者、送信者、本文などのプロパティを抽出する必要があります。この記事では、Javaを使用してOutlookMSGファイルを読み取る方法を学習します。

この記事では、次のトピックについて説明します。

OutlookMSGファイルを読み取るJavaAPI

Outlook MSGファイルの読み取りには、Aspose.Email for JavaAPIを使用します。これにより、電子メールメッセージの作成、送信、読み取り、および操作をシームレスに行うことができます。また、Outlook MSGファイルの解析をサポートし、Javaオブジェクトでそれらのコンテンツを提供します。 APIのJARをダウンロードするか、MavenベースのJavaアプリケーションに次のpom.xml構成を追加してください。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

Javaを使用してOutlookMSGファイルを解析および読み取ります

以下の手順に従って、OutlookMSGファイルを解析して読み取ることができます。

  1. MapiMessage.load()メソッドを使用してMSGファイルをロードします。
  2. ロードされたMSGからSenderName、Subject、Body、Recipientsなどのプロパティを読み取ります。

次のコードサンプルは、Javaを使用してOutlookMSGファイルを読み取る方法を示しています。

// このコード例は、MSGファイルの読み取り方法を示しています。
// ディスクからMSGファイルをロードします
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\message.msg");

// 送信者の名前を表示する
System.out.println("Sender Name : " + outlookMessageFile.getSenderName());

// 件名を表示
System.out.println("Subject : " + outlookMessageFile.getSubject());

// ディスプレイボディ
System.out.println("Body : " + outlookMessageFile.getBody());

// 受信者の情報を表示する
System.out.println("Recipients : \n");

// MapiMessageオブジェクトに関連付けられている受信者コレクションをループします
for (int i = 0; i < outlookMessageFile.getRecipients().size(); i++) {
  
  // MapiRecipientオブジェクトへの参照を設定します
  MapiRecipient rcp = (MapiRecipient) outlookMessageFile.getRecipients().get_Item(i);
  
  // 受信者のメールアドレスを表示する
  System.out.println("Email : " + rcp.getEmailAddress());
  
  // 受信者名を表示する
  System.out.println("Name : " + rcp.getDisplayName());
  
  // 受信者タイプを表示する
  System.out.println("Recipient Type : " + rcp.getRecipientType());
}
Javaを使用してOutlookMSGファイルを解析および読み取ります。

Javaを使用してOutlookMSGファイルを解析および読み取ります。

Javaを使用してMSGファイルから添付ファイルを取得する

以下の手順に従って、OutlookMSGファイルから添付ファイルを保存することもできます。

  1. MapiMessage.load()メソッドを使用してMSGファイルをロードします。
  2. MapiMessageオブジェクトに関連付けられている添付ファイルコレクションをループします。
  3. save()メソッドを使用して、各添付ファイルをディスクに保存します。

次のコードサンプルは、Javaを使用してOutlookMSGファイルから添付ファイルを保存する方法を示しています。

// このコード例は、MSGファイルから添付ファイルを保存する方法を示しています。
// ディスクからMSGファイルをロードします
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\WithEmbeddedMsg.msg");

// MapiMessageオブジェクトに関連付けられている添付ファイルコレクションをループします
for (int i = 0; i < outlookMessageFile.getAttachments().size(); i++) {
  
  // MapiAttachmentオブジェクトへの参照を設定します
  MapiAttachment outlookMessageAttachment = (MapiAttachment) outlookMessageFile.getAttachments().get_Item(i);
  
  // アタッチメントタイプを表示
  System.out.println("Att Type : " + outlookMessageAttachment.getMimeTag());
  
  // 添付ファイル名を表示
  System.out.println("File Name : " + outlookMessageAttachment.getLongFileName());
  
  // 添付ファイルをディスクに保存します
  outlookMessageAttachment.save("D:\\Files\\Email\\" + outlookMessageAttachment.getDisplayName());
}
Javaを使用してMSGファイルから添付ファイルを取得します。

Javaを使用してMSGファイルから添付ファイルを取得します。

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

以下の手順に従って、OutlookMSG添付ファイルに埋め込まれている電子メールメッセージを読み取ることもできます。

  1. MapiMessage.load()メソッドを使用してMSGファイルをロードします。
  2. 添付されたメッセージをMapiMessageオブジェクトとして取得します。
  3. メッセージのプロパティを表示します。

次のコードサンプルは、Javaを使用して埋め込みメッセージを添付ファイルとして読み取る方法を示しています。

// このコード例は、MSGに添付された埋め込みメッセージを読み取る方法を示しています。
// MSGファイルをロードします
MapiMessage mapi = MapiMessage.load(dataDir + "EmbededMessageAsAttachment.msg");

// 添付ファイルの総数を表示
System.out.println("Total attachments : " + mapi.getAttachments().size());

// 添付ファイルをMapiMessageとして読み取ります
MapiMessage emb = mapi.getAttachments().get_Item(0).getObjectData().toMapiMessage();

// 送信者の名前を表示する
System.out.println("Sender Name : " + emb.getSenderName());

// 件名を表示
System.out.println("Subject : " + emb.getSubject());

// ディスプレイボディ
System.out.println("Body : " + emb.getBody());

// 受信者の情報を表示する
System.out.println("Recipients :");

// MapiMessageオブジェクトに関連付けられている受信者コレクションをループします
for (int i = 0; i < emb.getRecipients().size(); i++) {
  
  // MapiRecipientオブジェクトへの参照を設定します
  MapiRecipient rcp = (MapiRecipient) emb.getRecipients().get_Item(i);
  
  // 受信者のメールアドレスを表示する
  System.out.println("\t Email : " + rcp.getEmailAddress());
  
  // 受信者名を表示する
  System.out.println("\t Name : " + rcp.getDisplayName());
  
  // 受信者タイプを表示する
  System.out.println("\t Recipient Type : " + rcp.getRecipientType());
}

無料ライセンスを取得する

無料の一時ライセンスをリクエストして、評価制限なしでAPIを試してください。

結論

この記事では、Javaを使用してプログラムでOutlookMSGファイルの内容を読み取る方法を学習しました。さらに、MSGファイルから添付ファイルを読み取って抽出する方法を見てきました。さらに、ドキュメントを使用して、Aspose.Email forJavaAPIの詳細を学ぶことができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目