JavaのThunderbirdストレージでのメッセージの書き込みと読み取り

Thunderbirdは、メールアカウントを構成し、そこからのメールメッセージにアクセスできるオープンソースアプリケーションです。このアプリケーションを使用すると、複数のアカウントからの電子メールを1か所で管理できます。場合によっては、プログラムでThunderbirdストレージに電子メールメッセージを作成してアクセスする必要があります。これに従って、この記事では、JavaのThunderbirdストレージでメッセージを読み書きする方法を示します。

ThunderbirdStorageでメッセージを読み書きするためのJavaAPI

Thunderbirdストレージでメールメッセージを読み書きするには、Aspose.Email for Javaを使用します。これは、電子メールを操作し、Thunderbird、Outlookなどの一般的な電子メールクライアントを操作できるようにする電子メール処理APIです。APIをダウンロードするか、次のMaven構成を使用してインストールできます。

リポジトリ:

<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.3</version>
    <classifier>jdk16</classifier>
</dependency>

JavaのThunderbirdストレージにメッセージを書く

Aspose.Email for Javaを使用すると、数ステップで新しいメッセージを作成してThunderbirdのストレージに保存できます。以下は、Javaでこの操作を実行するための手順です。

  • まず、MBOXファイルをFileOutputStreamオブジェクトにロードします。
  • 次に、MboxrdStorageWriterのインスタンスを作成し、ストリームで初期化します。
  • その後、新しいMailMessageを作成するか、ファイルからロードします。
  • MboxrdStorageWriter.writeMessage(MailMessage)メソッドを使用してストレージにメッセージを書き込みます。
  • 最後に、ライターを破棄してストリームを閉じます。

次のコードサンプルは、JavaでThunderbirdストレージにメッセージを書き込む方法を示しています。

// ファイルをロード
try (FileOutputStream writeStream = new FileOutputStream("inbox")) {
    
    // ライターを作成する
    try (MboxrdStorageWriter writer = new MboxrdStorageWriter(writeStream, false)) {
        
        // MSGファイルからメッセージをロードします
        MailMessage msg = MailMessage.load("Message.msg");
        String[] fromMarker = {null};
        
        // メッセージを書く
        writer.writeMessage(msg, fromMarker);
    }
}

JavaでThunderbirdStorageからメッセージを読む

Thunderbirdストレージからメッセージを読み取るには、MboxrdStorageReaderクラスを使用してストレージファイルをロードする必要があります。以下は、JavaでThunderbirdからのメッセージを読み取る手順です。

  • まず、MBOXファイルをFileInputStreamオブジェクトにロードします。
  • 次に、MboxrdStorageReaderのインスタンスを作成して、ストレージファイルを読み取ります。
  • その後、MboxrdStorageReader.readNextMessage()メソッドを使用して最初のメッセージを読み取ります。
  • 次に、ループを開始してすべてのメッセージを繰り返し処理します。
  • 各メッセージを読み、必要に応じてディスクに保存します。
  • 最後に、リーダーを最後に廃棄します。

次のコードサンプルは、JavaでThunderbirdストレージからメッセージを読み取る方法を示しています。

// ファイルをロード
try (FileInputStream stream = new FileInputStream("file.mbox")) {
    
    // ロードオプションを作成する
    MboxLoadOptions lo = new MboxLoadOptions();
    lo.setLeaveOpen(false);
    
    // ファイルからメッセージを読む
    try (MboxrdStorageReader reader = new MboxrdStorageReader(stream, lo)) {
        MailMessage msg;
        String[] fromMarker = {null};
        while ((msg = reader.readNextMessage(/* out */fromMarker)) != null) {
            System.out.println(fromMarker[0]);
        }
    }
}

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

無料の一時ライセンスを使用すると、評価の制限なしにAspose.EmailforJavaを使用できます。

結論

Thunderbirdを使用すると、1つの場所で複数のアカウントからの電子メールメッセージを管理できます。この記事では、JavaでThunderbirdストレージにメッセージを書き込む方法を学びました。また、プログラムでThunderbirdストレージからメッセージを読み取る方法も確認しました。それとは別に、ドキュメントにアクセスして、Aspose.EmailforJavaの他の機能を調べることができます。ご不明な点がございましたら、フォーラムに投稿してください。

関連項目