Python电子邮件bot Pyzmail/IMAPclien

2024-05-23 14:16:23 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我正在编写一个Python脚本来从电子邮件中提取文本,并跟随these instructions来执行此操作。以下是目前为止的脚本:

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[]'])

但是我得到了这个错误:

^{pr2}$

5484是搜索功能找到的电子邮件的ID。我也试过用UID代替5484,但也没用。提前谢谢!在


Tags: 文本import脚本com电子邮件bodypasswordpprint
2条回答

尝试将['BODY[]']替换为[b'BODY[]']

谢谢你@Madalin Stroe。在

我在Win10上使用python3.6.2和pyzmail1.0.3。 当我跑的时候 message = pyzmail.PyzMessage.factory(rawMessages[4]['BODY[]']) 错误如下所示:

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[]'])时,它运行得很好。在

相关问题 更多 >