私は新しい電子メールのために電子メールアドレスを再帰的にチェックしてから、何か他のことをする必要があるアプリケーションを作成しようとしています。私は電子メールの本文を取得することにいくつか問題があります。私はimapclientと並んでpyzmailモジュールを使用しています。そして、指針のために(Python 3.6を使用して)退屈なものを自動化しています。ここに私のコード:Pyzmailモジュールを使って電子メールの本文を再帰的に取得する
mail = imapclient.IMAPClient('imap.gmail.com', ssl=True)
mail.login('email', 'password')
mail.select_folder('INBOX', readonly=False)
uid = mail.gmail_search('NC')
for i in uid:
message = mail.fetch(i, ['BODY[]'], 'FLAGS')
msg = pyzmail.PyzMessage.factory(message[i][b'BODY[]'])
msg.html_part.get_payload().decode(msg.text_part.charset)
しかし、それは動作していません。私は基本的にこのコードのさまざまな形を試しましたが、役に立たないし、実際に私を助けることができる多くの例はありません。私はPython初心者の少しです。誰でも助けることができますか? おかげで、私はミスを犯し、コードのビットを固定ところ、私は実現
EDIT
:
server = imapclient.IMAPClient('imap.gmail.com', ssl=True)
server.login('[email protected]', 'rabbitrun88ve')
server.select_folder('INBOX', readonly=True)
uids = server.gmail_search('NC')
for i in uids:
messages = server.fetch(i, ['BODY[]'])
msg = pyzmail.PyzMessage.factory(messages[b'BODY[]'])
私がいる問題は、私の最後の行、ですイテレータで作成された変数を使用してフィードを与える方法は知られていません。
の「I」の変数を省略。問題文に再帰はありません。 – Max
@Max私はNCを主題とする電子メールの内容を引き出そうとしています。その件名に3つの電子メールがある場合は、その情報を取得したいと思います。例:ある電子メールの内容が「こんにちは、これはテストです」とすれば、それは私が望むすべてです。おそらく私はこの用語を再帰的に間違って使いました。申し訳ありません。 –