Эта команда не реализована imaplib.
Я знаю, что это что-то вроде хака, но мне действительно нужно было запустить XLIST по той же причине.
Глядя на то, как list () был реализован в источнике imaplib, я унаследовал класс IMAP4_SSL imaplib и добавил команду xlist ().Итак, в adv_imaplib.py добавьте:
import imaplib
imaplib.Commands['XLIST'] = ('AUTH', 'SELECTED')
class ADV_IMAP4_SSL(imaplib.IMAP4_SSL):
def xlist(self, directory='""', pattern='*'):
"""(X)List mailbox names in directory matching pattern. Using Google's XLIST extension
(typ, [data]) = <instance>.xlist(directory='""', pattern='*')
'data' is list of XLIST responses.
"""
name = 'XLIST'
typ, dat = self._simple_command(name, directory, pattern)
return self._untagged_response(typ, dat, name)
, теперь просто создайте ADV_IMAP4_SSL вместо IMAP4_SSL и вызовите xlist (), у меня работает.