Python 3.x IMAP fetch()返回命令错误:错误[b';命令参数错误。12';]
我很难在网上找到示例/疑难解答提示,并且不太确定我是否正确解释了文档。如蒙协助,将不胜感激 我正在连接到电子邮件服务器,希望阅读电子邮件主题和正文。我首先是这样联系的:Python 3.x IMAP fetch()返回命令错误:错误[b';命令参数错误。12';],python-3.x,imap,Python 3.x,Imap,我很难在网上找到示例/疑难解答提示,并且不太确定我是否正确解释了文档。如蒙协助,将不胜感激 我正在连接到电子邮件服务器,希望阅读电子邮件主题和正文。我首先是这样联系的: import imaplib c = imaplib.IMAP4_SSL(hostname, port) c.login(username, password) foldername = 'INBOX/SSR' c.select(str.encode(foldername), readonly = True) today =
import imaplib
c = imaplib.IMAP4_SSL(hostname, port)
c.login(username, password)
foldername = 'INBOX/SSR'
c.select(str.encode(foldername), readonly = True)
today = datetime.date.today().strftime('%d-%b-%Y')
searchcriteria = '(SENTON '{}')'.format(today)
typ, msg_ids = c.search(None, searchcriteria)
msg_ids = [s.decode('ascii') for s in msg_ids]
对于msg_ID中的idnumber:
打印(c.fetch(idnumber,”(BODY.PEEK[HEADER]))
代码和工作以及输出看起来与预期一样,直到最后一行,在这一点上,我得到
imaplib.error:FETCH命令错误:错误[b'命令参数错误。12']
我的思路和随后的测试检查了以下可能的问题:
如果我错了,请纠正我,但是c.search不应该更改我的目录,是吗?与中一样,通过选择foldername,我“导航”到所选文件夹,但仅搜索只返回值,不应更改我的位置?我在尝试列出或选择新邮箱时遇到了相同的问题-
错误[b'命令参数错误。12']
,在我的情况下,它与“发送框”不起作用,但它与“发件箱”配合得很好,所以空间符号才是重点
因此它使用了c.select(“{}”格式(“发送框”)…
希望此信息能对您有所帮助。您的最后一行不正确
msg\u id=[s.decode('ascii')表示msg\u id中的s]
msg_ids是一个带有字节字符串的列表,而不是列表中的元素-例如:[b'123124125']
将最后一行更改为
msg\u ids=msg\u ids[0]。拆分(b“”)
它将按预期工作。b BAD表示标记为“b”的命令包含语法错误。Imaplib将该标记分配给某个对象,因此下一步是增加imap对象的调试级别,并查看标记为“b”的AH的确切内容。我该如何做,增加调试级别?我不记得了。但我记得当我eded它,我在imaplib的主文档页面底部附近找到了它。搜索“debug”。谢谢。我会看一看。这里的技巧是在文件夹名称中添加双引号。然后它将是foldername='“INBOX/SSR”
在我的情况下,这也很有效c.select('Bulk Mail')
(但是c.select('Bulk Mail'))
没有)