Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python imaplib fetch returns";不能';t parse命令";错误_Python_Python 3.x_Gmail_Imaplib - Fatal编程技术网

Python imaplib fetch returns";不能';t parse命令";错误

Python imaplib fetch returns";不能';t parse命令";错误,python,python-3.x,gmail,imaplib,Python,Python 3.x,Gmail,Imaplib,我已经找了几个小时这个错误,找不到任何解决我问题的方法。在做这件事的时候,我正在关注一篇关于这个主题的文章。我以前甚至没有犯过这个错误。我从fetch部分了解到,它将消息从我的框中分离出来。我尝试了不同的方法,但似乎什么都不管用。 编辑:我觉得我的问题有点错了。我实际上需要知道我做错了什么,或者我应该改变什么部分 dic_path = "Mails\\" username = "username@gmail.com" password = "pa

我已经找了几个小时这个错误,找不到任何解决我问题的方法。在做这件事的时候,我正在关注一篇关于这个主题的文章。我以前甚至没有犯过这个错误。我从fetch部分了解到,它将消息从我的框中分离出来。我尝试了不同的方法,但似乎什么都不管用。 编辑:我觉得我的问题有点错了。我实际上需要知道我做错了什么,或者我应该改变什么部分

dic_path = "Mails\\"
username = "username@gmail.com"
password = "password"

imap = imaplib.IMAP4_SSL("imap.gmail.com")

imap.login(username, password)

status, messages = imap.select()

N = 10

messages = int(messages[0])
for i in range(messages, messages-N, -1):
    res, msg = imap.fetch(str(i), "(RFC822)")
for response in msg:
    if isinstance(response, tuple):
        # parse a bytes email into a message object
        msg = email.message_from_bytes(response[1])
        # decode the email subject
        subject = decode_header(msg["Subject"])[0][0]
错误

Traceback (most recent call last):
  File "C:\Users\Teknoloji\Desktop\Projects\Python Projects\Phyton\DiscordBot\DiscordBot2\Main.py", line 28, in <module>
    res, msg = imap.fetch(str(i), "(RFC822)")
  File "C:\Users\Teknoloji\AppData\Local\Programs\Python\Python38-32\lib\imaplib.py", line 539, in fetch
    typ, dat = self._simple_command(name, message_set, message_parts)
  File "C:\Users\Teknoloji\AppData\Local\Programs\Python\Python38-32\lib\imaplib.py", line 1205, in _simple_command
    return self._command_complete(name, self._command(name, *args))
  File "C:\Users\Teknoloji\AppData\Local\Programs\Python\Python38-32\lib\imaplib.py", line 1030, in _command_complete
    raise self.error('%s command error: %s %s' % (name, typ, data))
imaplib.error: FETCH command error: BAD [b'Could not parse command']
回溯(最近一次呼叫最后一次):
文件“C:\Users\Teknoloji\Desktop\Projects\Python Projects\Phyton\DiscordBot\DiscordBot2\Main.py”,第28行,在
res,msg=imap.fetch(str(i),“(RFC822)”
文件“C:\Users\Teknoloji\AppData\Local\Programs\Python\Python38-32\lib\imaplib.py”,第539行,在fetch中
典型,dat=self.\u简单\u命令(名称、消息集、消息部分)
文件“C:\Users\Teknoloji\AppData\Local\Programs\Python\Python38-32\lib\imaplib.py”,第1205行,在简单命令中
返回self.\u命令\u complete(名称,self.\u命令(名称,*args))
文件“C:\Users\Teknoloji\AppData\Local\Programs\Python\Python38-32\lib\imaplib.py”,第1030行,在命令中完成
raise self.error(“%s命令错误:%s%s%”(名称、类型、数据))
imaplib.error:FETCH命令错误:错误[b'无法分析命令']

调试跟踪:

您的pastebin指示邮箱中有8封邮件,但您正在尝试获取最近的10封邮件

 46:51.53 < b'* 8 EXISTS'

您能打开并粘贴协议跟踪吗?我有点不知道您能告诉我如何打开并找到跟踪吗?
imap.debug=5
在您的登录命令之前,然后查看控制台中的输出。我用一个原始的pastebin链接编辑了我的帖子非常感谢!我应该这么想。再次谢谢你!!
46:52.45 > b'MAAK11 FETCH 0 (RFC822)'
46:52.53 < b'MAAK11 BAD Could not parse command'
for i in range(messages, max(messages-N, 1), -1):