PythonでThunderbirdにメッセージを書き込んだり読んだりする

Thunderbirdは、複数の電子メールサーバーからメッセージを取得できるオープンソースの電子メールクライアントです。したがって、複数のアカウントからの電子メールを1か所で管理できます。場合によっては、プログラムでThunderbirdからの電子メールメッセージにアクセスする必要があります。さらに、Thunderbirdで新しいメッセージを作成する必要がある場合があります。この記事では、PythonのThunderbirdストレージでメッセージを書き込んだり読んだりする方法を学びます。

Thunderbirdストレージでメッセージを読み書きするためのPythonライブラリ

Thunderbirdストレージでメールメッセージを書き込んだり読んだりするには、Aspose.Email for Python via.NETを使用します。これは、電子メールを作成および送信し、Thunderbird、Outlookなどの一般的な電子メールクライアントと連携できる強力なライブラリです。次のコマンドを使用して、PyPIからライブラリをインストールできます。

> pip install Aspose.Email-for-Python-via-NET

PythonでThunderbirdStorageにメッセージを書く

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

  • MboxrdStorageWriterのインスタンスを作成し、ファイル名で初期化します。
  • 新しいMailMessageを作成し、そのプロパティを設定します。
  • MboxrdStorageWriter.write_message(MailMessage)メソッドを使用してストレージにメッセージを書き込みます。
  • 作家を処分します。

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

from aspose.email import MboxrdStorageWriter, MailMessage

# Create a writer and initialize with file name
writer =MboxrdStorageWriter("ExampleMBox_out.mbox", False)

# Prepare a new message using the MailMessage class
message = MailMessage("from@domain.com", "to@domain.com", "Eml generated for Mbox", "added from Aspose.Email for Python")
message.is_draft = False

# Add this message to storage
writer.write_message(message)

# Dispose writer
writer.dispose()

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

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

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

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

from aspose.email import SaveOptions, MboxrdStorageReader

# Read the storage file
reader = MboxrdStorageReader("ExampleMbox.mbox", False)

# Read first message
eml = reader.read_next_message()

# Read all messages in a loop
while (eml is not None):
    # Manipulate message - show contents
    print("Subject: " + eml.subject)
    
    # Save this message in EML or MSG format
    eml.save(eml.subject + "_out.eml", SaveOptions.default_eml)
    eml.save(eml.subject + "_out.msg", SaveOptions.default_msg_unicode)

    # Get the next message
    eml = reader.read_next_message()

# Close the streams
reader.dispose()

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

無料の一時ライセンスを取得すると、.NET経由でAspose.EmailforPythonを使用できます。

結論

Thunderbirdは、1つの場所で複数の電子メールアカウントを構成するためのすばらしい電子メールクライアントアプリケーションです。この記事では、PythonでThunderbirdストレージにメッセージを書き込む方法を学びました。さらに、プログラムでThunderbirdストレージからメッセージを読み取る方法を見てきました。さらに、ドキュメントにアクセスして、Aspose.EmailforPythonの他の機能を調べることができます。ご不明な点がございましたら、フォーラムに投稿してください。

関連項目