GroupDocs.Parser を使用した Java で MSG をテキストに変換する方法

Outlook .msg ファイルから本文、件名、添付ファイルを抽出することは、Automation、アーカイブ、分析で一般的な要件です。このチュートリアルでは、GroupDocs.Parser for Java を使用して MSG をテキストに変換 する方法を迅速かつ確実に学びます。環境設定、正確な API 呼び出し、コードをクリーンで高性能に保つベストプラクティスのヒントを順に説明します。

クイック回答

  • Java で MSG をテキストに変換するライブラリは何ですか? GroupDocs.Parser for Java
  • サポートされているメール形式はどれですか? Outlook .msg files (the native Outlook format)
  • テストにライセンスは必要ですか? Yes – a temporary trial license is available from GroupDocs
  • 複数のメッセージを一度に処理できますか? Absolutely; batch processing is recommended for high‑volume scenarios
  • 必要な Java バージョンは何ですか? JDK 8 or newer

“MSG をテキストに変換” とは何ですか?

MSG をテキストに変換するとは、Outlook .msg ファイルをプログラムで開き、件名、本文、必要に応じて添付ファイル名などのテキスト要素を抽出し、それらをプレーンテキスト文字列として返すことです。この文字列は保存、インデックス作成、または他のアプリケーションで処理できます。

MSG をテキストに変換する際に GroupDocs.Parser を使用する理由

GroupDocs.Parser は幅広いフォーマットをサポートし、外部ツールなしで MSG をはじめ数十種類のメールやドキュメントを処理できます。Unicode と HTML の書式を高忠実度で保持し、メモリ使用量を抑えるストリーミング API で動作し、シンプルな Maven 統合を提供するため、単一ファイルでも大量バッチ処理でも理想的です。

前提条件

  • Java Development Kit (JDK): Version 8 or later installed.
  • Maven: 依存関係管理とビルド自動化のため。
  • IDE (optional): IntelliJ IDEA、Eclipse、またはお好みのエディタ。
  • Basic Java knowledge と Outlook .msg ファイルの知識。

Java 用 GroupDocs.Parser の設定

まず、GroupDocs.Parser ライブラリを Maven プロジェクトに追加します。

Maven 設定

pom.xml ファイルにリポジトリと依存関係のエントリを追加します:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/parser/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-parser</artifactId>
      <version>25.5</version>
   </dependency>
</dependencies>

Definition anchor: Parser クラスは、メールファイルを含むすべてのサポートされたドキュメントを読み取るためのエントリーポイントです。

直接ダウンロード

手動で設定したい場合は、最新の JAR を GroupDocs releases からダウンロードしてください。

ライセンス取得

temporary license page から一時的なトライアルライセンスを取得してください。このライセンスは評価制限を解除し、すべての機能をテストできるようにします。

Java で MSG をテキストに変換する方法

メールファイルをロードし、テキスト抽出がサポートされていることを確認し、TextReader で内容を読み取ります。

直接回答(40‑70語):
Parser インスタンスを .msg ファイルのパスで作成し、parser.getFeatures().isText() を呼び出してサポートを確認し、次に TextReader を使用してメールの件名と本文を読み取ります。最後に文字列を出力するかファイルに書き込みます。この一連の処理は API 呼び出しが 3 回だけで完了します。

Step 1: 必要なクラスのインポート

まず、必要な GroupDocs.Parser クラスを Java ソースファイルにインポートします。

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;
import java.io.IOException;

Definition anchor: TextReader は、ドキュメントからテキストコンテンツをストリームし、メモリ効率のために行単位で提供するハイレベル API です。

Step 2: MSG パスで Parser を初期化する

Parser は、MSG メールファイルを含むサポートされたドキュメントを読み取るための主要エントリーポイントです。
処理したい .msg ファイルの絶対パスまたは相対パスで Parser をインスタンス化します。

String emailFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.msg"; // Replace with your document path

try (Parser parser = new Parser(emailFilePath)) {
    if (!parser.getFeatures().isText()) {
        System.out.println("Text extraction isn't supported.");
        return;
    }
    
    try (TextReader reader = parser.getText()) {
        String emailContent = reader.readToEnd();
        System.out.println(emailContent);
    }
} catch (IOException e) {
    e.printStackTrace();
}

Step 3: テキスト抽出機能の確認

読み取る前に、現在のドキュメントタイプがテキスト抽出をサポートしているか確認します:

if (!parser.getFeatures().isText()) {
    System.out.println("Text extraction not supported for this file.");
    return;
}

Tip: このガードは、メタデータ抽出のみを許可するフォーマットで UnsupportedOperationException が発生するのを防ぎます。

Step 4: メールテキストの読み取りと出力

TextReader はドキュメントからテキストコンテンツを行単位でストリームし、低メモリ処理を可能にします。
TextReader を使用して件名と本文をストリームします。リーダーは各テキスト行を返すので、連結するか直接ファイルに書き込むことができます。

try (TextReader reader = parser.getText()) {
    StringBuilder emailContent = new StringBuilder();
    while (reader.readLine() != null) {
        emailContent.append(reader.getCurrentLine()).append(System.lineSeparator());
    }
    System.out.println(emailContent.toString());
}

この重要性: ストリーミングによりメール全体をメモリに読み込むことを回避でき、添付ファイルが多数ある大きなメッセージを処理する際に重要です。

よくある問題と解決策

  • ファイルパスが正しくない: 無効なパスは IOException をスローします。パーサーを初期化する前にパスを確認し、Files.exists(Paths.get(path)) を使用してください。
  • サポートされていない形式: すべてのメール形式がテキストを公開するわけではありません。parser.getFeatures().isText() を使用して未サポートのファイルをガードしてください。
  • ライセンスが適用されていない: トライアルライセンスがロードされていない場合、ライセンスエラーが表示されます。License は GroupDocs のトライアルまたは商用ライセンスを適用し、完全な機能を有効にします。アプリケーションの初期段階で License license = new License(); license.setLicense("path/to/license.lic"); のようにライセンスファイルをロードしてください。

実用的な活用例

MSG をテキストに変換することで、多くの自動化シナリオが実現します。

  1. 自動チケットルーティング: 受信したサポートメールを解析し、本文から抽出したキーワードに基づいてルーティングします。
  2. コンプライアンスアーカイブ: 検索可能な法的アーカイブ用にメールのプレーンテキスト版を保存します。
  3. CRM 強化: メール署名から顧客情報を取得し、CRM システムに取り込みます。
  4. 感情分析: 抽出したメール本文を NLP パイプラインに渡し、顧客の感情を測定します。

パフォーマンスのヒント

  • Parser インスタンスの再利用: バッチ処理時は、可能な限り単一の Parser オブジェクトを再利用して JVM のオーバーヘッドを削減します。
  • 並列処理: Java の ForkJoinPool を使用して複数ファイルを同時に処理しますが、過度なメモリ負荷を避けるために並列度は制限してください。
  • ディスクへのストリーム: 非常に大きなメールの場合、StringBuilder を構築する代わりに TextReader の出力を直接ファイルにパイプします。

よくある質問

Q: GroupDocs.Parser でテキストに変換できるファイル形式は何ですか?
A: 50 以上の形式、.msg.eml.pdf.docx.xlsx などをプレーンテキストに変換できます。

Q: 暗号化またはパスワード保護されたメールはどう処理しますか?
A: まず独自のロジックでメールを復号し、復号したストリームを Parser に渡します。ライブラリは保護されたファイルを自動的に復号しません。

Q: MSG ファイルのサイズ制限はありますか?
A: GroupDocs.Parser はストリーミングアーキテクチャにより、ファイル全体をメモリに読み込まずに最大 2 GB のファイルを処理できます。

Q: GroupDocs.Parser の最新バージョンに更新するにはどうすればよいですか?
A: pom.xml<version> 要素を GroupDocs releases ページに掲載されている最新番号に変更し、mvn clean install を実行してください。

Q: さらにコード例はどこで見つけられますか?
A: 公式ドキュメントと GitHub リポジトリには、添付ファイル抽出やメタデータ処理など高度なシナリオをカバーする多数のサンプルが含まれています。

リソース


最終更新日: 2026-07-02
テスト環境: GroupDocs.Parser 25.5 for Java
作者: GroupDocs

関連チュートリアル