Python で Outlook メールを読む

場合によっては、Outlook の電子メールを解析し、プログラムでメッセージから情報を抽出する必要があります。この情報には、送信者のアドレス、受信者のアドレス、本文、電子メールのヘッダーなどが含まれます。この記事では、Python で Outlook の電子メール メッセージを解析して読み取る方法を学習します。また、電子メール メッセージのヘッダーをプログラムで取得する方法も示します。

Outlook メールを読むための Python ライブラリ - 無料ダウンロード

Aspose.Email for Python は、Python アプリケーション内から電子メールを作成および送信するための機能豊富なライブラリです。さらに、電子メール メッセージを解析し、その内容を取得できます。この記事では、このライブラリを使用して Outlook メールを読み取ります。ライブラリをダウンロードするか、次のコマンドを使用してインストールできます。

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

Python で Outlook 電子メール メッセージを読む

Aspose.Email for Python を使用すると、送信者、受信者、電子メール本文など、Outlook 電子メール ファイルからすべての重要なデータを読み取ることができます。Python で電子メールからこのデータを読み取る方法を見てみましょう。

  • MailMessage.load(fileName) メソッドを使用してメール ファイルを読み込みます。
  • subject、body、html_body などのプロパティを使用してデータを読み取ります。

次のコード サンプルは、Python で Outlook メールを読む方法を示しています。

dataDir = "Data/"

# Eml ファイルをロードして MailMessage インスタンスを作成する
message = MailMessage.load(dataDir + "test.eml")

# 送信者情報、受信者情報、件名、html 本文、テキスト本文を取得する 
print("Sender: " + str(message.from_address))

for receiver in enumerate(message.to):
    print("Receiver: " + receiver)

print("Subject: " + message.subject)

print("HtmlBody: " + message.html_body)

print("TextBody: " + message.body)

メールの HTML 本文からプレーン テキストを抽出する

場合によっては、メールの HTML 本文からプレーン テキストを抽出する必要があります。これには、単純に MailMessage.get_html_body_text(False) メソッドを使用できます。次のコード サンプルは、Python で電子メールの HTML 本文からプレーン テキストを読み取る方法を示しています。

dataDir = "Data/"

# Eml ファイルをロードして MailMessage インスタンスを作成する
message = MailMessage.load(dataDir + "test.eml")

# HTML 本文テキストを取得する 
print("HTML body text: " + message.get_html_body_text(False))

Python でメールのヘッダーを読み取る

Aspose.Email for Python では、電子メール メッセージからヘッダー情報を取得することもできます。以下は、Python でこの操作を実行する手順です。

  • MailMessage.load(fileName) メソッドを使用してメール ファイルを読み込みます。
  • MailMessage.headers プロパティのヘッダー値をループします。
  • MailMessage.headers.get(index) メソッドを使用してヘッダーの各値を読み取ります。

次のコード サンプルは、Python で電子メールのヘッダーを読み取る方法を示しています。

dataDir = "Data/"

# EML ファイルをロードして MailMessage インスタンスを作成する
message = MailMessage.load(dataDir + "email-headers.eml");
print("\n\nheaders:\n\n")

# すべてのヘッダーを印刷する
index = 0
for index, header in enumerate(message.headers):
    print(header + " - ", end=" ")
    print (message.headers.get(index))

メールを読むための Python ライブラリ - 無料ライセンスを取得

無料の一時ライセンスを取得することで、評価制限なしで Aspose.Email for Python を使用できます。

Python メール ライブラリ - 続きを読む

Aspose.Email for Python の詳細については、ドキュメント を参照してください。また、ご質問やご不明な点がございましたら、フォーラム からお気軽にお問い合わせください。

結論

この記事では、Outlook の電子メール メッセージの内容を Python でプログラムによって読み取る方法を学習しました。さらに、Python でメールのヘッダーを取得する方法を見てきました。ライブラリを簡単にインストールして、これらの機能をアプリケーションに統合できます。

関連項目