Mozilla Thunderbird からメッセージを読む

Mozilla Thunderbird は、Mozilla Foundation が開発した人気のオープンソースかつクロスプラットフォームのメールクライアントです。メールは独自のファイル構造に保存され、メッセージインデックスやサブフォルダーは独自フォーマットで管理されます。Aspose.Email は Thunderbird のメールストレージ構造と連携できます。具体的には、API は以下の機能を提供します。 MboxrdStorageReader Mozilla Thunderbird のメールストレージファイルからメッセージを読むことができるクラスです。本記事では、Aspose.Email を使用して Thunderbird のメールストレージからメッセージを読む方法を説明します。

MBOX ファイルからメッセージを読む方法

Thunderbird のメールストレージからメッセージを読むには、以下の手順に従ってください。

  1. Thunderbird のストレージファイルを開きます。
  2. インスタンスを作成します MboxrdStorageReader クラスを作成し、ファイルストリームをコンストラクタに渡します。
  3. 呼び出す read_next_message() 最初のメッセージを取得するメソッド。
  4. read_next_message() を使用した while ループで全メッセージを反復処理します。
  5. 処理後にすべてのファイルストリームを閉じます。

以下のコードスニペットは、Thunderbird のメールストレージファイルからすべてのメッセージを読む方法を示しています。

MBOX メッセージからメールプロパティを取得

Aspose.Email は以下を提供します MboxStorageReader メッセージを読み取るクラスと MboxLoadOptions MBOX ファイルをロードするクラスです。 MboxMessageInfo このクラスは、特定のメッセージ詳細にアクセスして表示するためのさまざまなプロパティを含みます。

  • date: メッセージの日付を取得します。

  • from_address: 送信者のアドレスを取得します。

  • subject: メッセージの件名を取得します。

  • to: 受信者アドレスを取得します。

  • cc: CC 受信者アドレスを取得します。

  • bcc: BCC 受信者アドレスを取得します。

以下のコードスニペットは、MBOX ファイルからメッセージの詳細を抽出および表示する方法を示します。

import aspose.email as ae

reader = ae.storage.mbox.MboxStorageReader.create_reader(file_name, ae.storage.mbox.MboxLoadOptions())

for mbox_message_info in reader.enumerate_message_info():
    print(f"Subject: {mbox_message_info.subject}")
    print(f"Date: {mbox_message_info.date}")
    print(f"From: {mbox_message_info.from_address}")
    print(f"To: {mbox_message_info.to}")
    print(f"CC: {mbox_message_info.cc}")
    print(f"Bcc: {mbox_message_info.bcc}")

MBOX ファイルから ID でメッセージを抽出

Aspose.Email はエントリ ID を使用して MBOX ファイルからメッセージを抽出できます。以下のメソッドとプロパティがこのプロセスを支援します。

以下のコードサンプルは、これらの機能を使用して MBOX ファイルからメッセージを読み取り、抽出する方法を示しています。

  1. 以下を使用して MBOX リーダーを作成します MboxStorageReader.create_reader() メソッドです。処理するファイルを指定し、 MboxLoadOptions ロードオプションを構成するために。
  2. リーダーで enumerate_message_info() を呼び出して各 mbox_message_info を反復処理し、メッセージを列挙します。これにより、MBox ファイル内の各メールのメタデータにアクセスできます。
  3. 個別のメッセージを抽出します。各メッセージ情報エントリについて、extract_message() メソッドを使用して実際のメールを抽出します。mbox_message_info から entry_id を渡し、 EmlLoadOptions() メールのロード設定用です。
import aspose.email as ae

reader = ae.storage.mbox.MboxStorageReader.create_reader("my.mbox", ae.storage.mbox.MboxLoadOptions())

for mbox_message_info in reader.enumerate_message_info():
    eml = reader.extract_message(mbox_message_info.entry_id, ae.EmlLoadOptions())

MBOX ファイル読み取り時にロードオプションを構成

Aspose.Email EmlLoadOptions このクラスは、EML 形式から MailMessage のロードプロセスをカスタマイズできます。たとえば、EML ファイルをロードする際に TNEF 添付ファイルを保持するオプションを設定できます。 preserve_tnef_attachments プロパティ( EmlLoadOptions クラス。

指定したロードオプションで MBOX ファイルから次のメールメッセージを読むには、以下を使用します。 read_next_message メソッド( MboxStorageReader クラスです。さらに、以下を使用してファイルを PST 形式に変換できます。 mbox_to_pst メソッド( MailStorageConverter クラス。

以下のコードサンプルは、これらのメソッドとプロパティを使用してメールストレージファイルを管理する方法を示します。MBOX 形式からのメッセージ読み取り、TNEF 添付ファイルの保持、MBOX から PST 形式への変換が含まれます。

import aspose.email as ae

reader = ae.storage.mbox.MboxrdStorageReader(fileName, ae.storage.mbox.MboxLoadOptions())

# Read messages preserving tnef attachments.
load_options = ae.EmlLoadOptions()
load_options.preserve_tnef_attachments = True
eml = reader.read_next_message(load_options)
ae.storage.MailStorageConverter.MboxMessageOptions(load_options)

# Convert messages from mbox to pst preserving tnef attachments.
pst = ae.storage.MailStorageConverter.mbox_to_pst("Input.mbox", "Output.pst")

MBOX ファイル読み取り時の優先テキストエンコーディングを設定

MBOX ファイルをロードする際に使用するテキストエンコーディングを指定できます。 preferred_text_encoding プロパティ( MboxLoadOptions このクラスは追加オプションを設定し、エンコードされたコンテンツを含むメッセージが正しく読み取られ処理されることを保証します。

以下のコードスニペットは、プロジェクトでこの機能を使用する方法を示しています。

import aspose.email as ae

load_options = ae.storage.mbox.MboxLoadOptions()
load_options.preferred_text_encoding = 'utf-8'
reader = ae.storage.mbox.MboxrdStorageReader("sample.mbox", load_options)
message = reader.read_next_message()

MBOX ファイル内のメッセージ総数を取得

この MboxrdStorageReader このクラスは MBox ファイル内のアイテム数を取得する機能を提供します。ファイル処理中の進捗表示アプリケーションの開発に使用できます。

MBOX 内の特定メッセージのサイズを取得