場合によっては、Outlook の電子メールを解析し、プログラムでメッセージから情報を抽出する必要があります。この情報には、送信者のアドレス、受信者のアドレス、本文、電子メールのヘッダーなどが含まれます。この記事では、Python で Outlook の電子メール メッセージを解析して読み取る方法を学習します。また、電子メール メッセージのヘッダーをプログラムで取得する方法も示します。
- Outlook メールを読むための Python ライブラリ
- Python で Outlook 電子メール メッセージを読む
- メールの HTML 本文からプレーン テキストを抽出する
- Python でメールのヘッダーを読み取る
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 でメールのヘッダーを取得する方法を見てきました。ライブラリを簡単にインストールして、これらの機能をアプリケーションに統合できます。