2016-12-01 6 views
2

私はPythonスクリプトを使って電子メールからテキストを抽出し、それに続いてthese instructionsに従っています。これは、これまでのスクリプトです:Python email bot Pymmail/IMAPclientエラー

私はこのエラーを取得していますが
import imapclient 
import pprint 
import pyzmail 

mymail = "[email protected]" 
password = input("Password: ") 

imapObj = imapclient.IMAPClient('imap.gmail.com' , ssl=True) 
imapObj.login(mymail , password) 
imapObj.select_folder('INBOX', readonly=False) 
UIDs = imapObj.search(['SUBJECT Testing']) 
rawMessages = imapObj.fetch([5484], ['BODY[]']) 
message = pyzmail.PyzMessage.factory(rawMessages[5484]['BODY[]']) 

message = pyzmail.PyzMessage.factory(rawMessages[5484]['BODY[]']) 
KeyError: 5484 

5484は、検索機能が見つかった電子メールのIDであること。私は5484の代わりにUIDを入れてみましたが、どちらもうまくいきません。前もって感謝します!

+0

rawMessagesの外観とUIDの外観はどうなっていますか?私は548のUIDを持つメッセージがあると思います。IMAPClientはデフォルトでUIDを使用します。 –

答えて

1

[b'BODY [] ']

1

で[ 'BODY []']交換してみてくださいはStroe @Madalinありがとうございます。

私は、Win10でpython3.6.2とpyzmail1.0.3を使用します。 私は message = pyzmail.PyzMessage.factory(rawMessages[4]['BODY[]']) を実行するとERRは次のように示しています

Traceback (most recent call last): 
File "PATH/TO/mySinaEmail.py", line 42, in <module> 
message = pyzmail.PyzMessage.factory(rawMessages[4]['BODY[]']) 
KeyError: 'BODY[]' 

私はmessage = pyzmail.PyzMessage.factory(rawMessages[4][b'BODY[]'])にこれを変更すると、それがうまく実行します。

関連する問題