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の他の機能を調べることができます。ご不明な点がございましたら、フォーラムに投稿してください。