Cap*_*bob 3 python imapclient keyerror
因此,我正在研究一个Python脚本以从电子邮件中提取文本,并按照以下说明进行操作。到目前为止,这是脚本:
import imapclient
import pprint
import pyzmail
mymail = "my@email.com"
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[]'])
Run Code Online (Sandbox Code Playgroud)
但是我收到此错误:
message = pyzmail.PyzMessage.factory(rawMessages[5484]['BODY[]'])
KeyError: 5484
Run Code Online (Sandbox Code Playgroud)
5484是搜索功能找到的电子邮件的ID。我也尝试过放置UID而不是5484,但这也不起作用。提前致谢!
小智 5
谢谢@Madalin Stroe。
我在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[]'
Run Code Online (Sandbox Code Playgroud)
当我将其修改为时message = pyzmail.PyzMessage.factory(rawMessages[4][b'BODY[]']),它运行良好。
| 归档时间: |
|
| 查看次数: |
1082 次 |
| 最近记录: |