Apache POI HSMF
オープン ソース Java API を介して MSG ファイルを処理する
Microsoft Outlook MSG ファイルを読み取って、レンダリング情報、件名と本文のコンテンツにアクセスするか、Apache POI で添付ファイルを抽出します。
電子メール メッセージを処理するための電子メール処理ライブラリを探している Java 開発者は、Apache POI-HSMF を検討することをお勧めします。これは、Outlook MSG 形式の POI プロジェクトの純粋な Java 実装であり、MSG ファイルへの低レベルの読み取りアクセスを提供し、送信者、件名、メッセージ本文などの MSG ファイルの一般的なテキスト コンテンツを取得するためのユーザー向けの方法を提供します。 .開発者は、メッセージ ヘッダー情報の取得、電子メール メッセージの保存、MSG ファイルからの固定サイズ プロパティの読み取り、埋め込みメッセージ プロパティの抽出、メッセージ エンコーディングの操作などを行うことができます。
Apache POI HSMF の使用を開始する
まず、システムに Java Development Kit (JDK) をインストールする必要があります。既にお持ちの場合は、Apache POI の ダウンロード ページに進み、最新の安定版リリースをアーカイブから入手してください。必要なライブラリーを Java プログラムにリンクできる任意のディレクトリーに ZIP ファイルの内容を抽出します。それだけです!
Maven ベースの Java プロジェクトで Apache POI を参照するのはさらに簡単です。必要なのは、pom.xml に次の依存関係を追加し、IDE が Apache POI Jar ファイルを取得して参照できるようにすることだけです。
Apache POI Maven の依存関係
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
API to Access Outlook MSG Files
Outlook MSG ファイルにアクセスするための API
Apache POI-HSMF を使用すると、Java 開発者とプログラマーは Outlook MSG ファイルの内容にアクセスできます。 Apache POI-HSMF は、Microsoft Outlook メッセージ ファイル形式をピュア Java に移植したものです。 API は現時点では非常に基本的なレベルにあるため、電子メール メッセージを操作するために使用できる機能は限られています。開発者は取得できます
MSG からのデータの抽出 - Java
// Open MSG file
MAPIMessage msg = new MAPIMessage("sample.msg");
// Read Content
System.out.println("From: " + msg.getDisplayFrom());
System.out.println("To: " + msg.getDisplayTo());
System.out.println("CC: " + msg.getDisplayCC());
System.out.println("BCC: " + msg.getDisplayBCC());
System.out.println("Subject: " + msg.getSubject());
Read & Extracts Attachments from Outlook MSG File
Outlook MSG ファイルからの添付ファイルの読み取りと抽出
Apache POI-HSMF API を使用すると、Java 開発者は Outlook MSG ファイルを解析できます。埋め込まれたドキュメントのコンテンツを抽出して読み取ります。開発者は、MAPI メッセージの添付ファイルにアクセスできます。 1 つまたは複数の Outlook MSG ファイルの読み取りをサポートし、それぞれについて、利用可能なチャンクと添付ファイルを含むディレクトリからテキスト ファイルを作成します。 Outlook MSG ファイルから添付ファイルを読み取り、個別のファイルとしてディスクに書き込みます。
MSG の添付ファイルの抽出 - Java
// Open MSG file
MAPIMessage msg = new MAPIMessage("sample.msg");
// Extract Attachment
AttachmentChunks[] attachments = msg.getAttachmentFiles();
if(attachments.length > 0) {
File d = new File("D:\\Attachments");
if(d.mkdir()) {
for(AttachmentChunks attachment : attachments) {
processAttachment(attachment, d);
}
}
}
Save Email Message Contents inside Java Apps
電子メール メッセージの内容を Java アプリ内に保存する
Java プログラマーは、Apache POI-HSMF API を使用して、電子メール メッセージの内容を抽出して保存できます。電子メールの本文を抽出して新しいファイルを作成し、FileWrite を使用してディスクに書き込むことができます。
電子メール本文を抽出して Java 経由で新しいファイルを作成する
String filename = "message.msg";
MAPIMessage msg = new MAPIMessage(filename);
PrintWriter txtOut = new PrintWriter("ApacheMessage.txt");
txtOut.println("Email Body: " + msg.getTextBody());
txtOut.close();