私のアプリケーションは python で書かれています。私がやっていることは、postfix によって受信された各電子メールでスクリプトを実行し、電子メールの内容で何かを行うことです。Procmail は、電子メールを入力として受け取るスクリプトの実行を担当します。入力メッセージ(テキストの可能性があります)をemail_messageオブジェクトに変換していたときに問題が発生しました(後者が便利なため)。私は email.message_from_string を使用しています (email はデフォルトのメールモジュールで、python に付属しています)。
import email
message = email.message_from_string(original_mail_content)
message_body = message.get_payload()
この message_body は、リスト [email.message.Message インスタンス、email.message.Message インスタンス] を返すこともあれば、文字列 (受信メールの実際の本文の内容) を返すこともあります。それはなぜです。そして、私はもう1つの観察結果を見つけました。email.message.Message.get_payload() docstring を参照していたときに、これを見つけました..
""" ペイロードはリスト オブジェクトまたは文字列のいずれかになります。リスト オブジェクトを変更する場合は、メッセージのペイロードを変更します場所....."""
では、Python を介して電子メールの本文を取得する一般的な方法をどのように使用すればよいでしょうか? 私を助けてください。