Python imaplib 选择文件夹

Python imaplib selecting folders

我正在使用 Django 构建邮件客户端,并使用 imaplib 提取电子邮件。 到目前为止,我可以 select 收件箱文件夹,因为在每个 imap 服务器中它的名称都是 "INBOX"。但是当涉及到 select 垃圾邮件、已发送等其他文件夹时,我遇到了麻烦,因为它们的名称是基于帐户语言的。 例如,我的帐户设置为俄语并列出如下邮件:

mail = imaplib.IMAP4_SSL(IMAP)
mail.login(USERNAME, PASSWORD)

for i in mail.list()[1]:
    print(i)

给我以下输出 (utf-7):

b'(\Inbox) "/" "INBOX"'
b'(\Spam) "/" "&BCEEPwQwBDw-"'
b'(\Sent) "/" "&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-"'
b'(\Drafts) "/" "&BCcENQRABD0EPgQyBDgEOgQ4-"'
b'(\Trash) "/" "&BBoEPgRABDcEOAQ9BDA-"'

尽管帐户的语言是 select,我如何 select 文件夹? 如果我使用:

mail.select("&BBoEPgRABDcEOAQ9BDA-")

它可以工作,但我的邮件客户端像这样没用。

我决定拆分输出并按原样使用文件夹名称,使用它们的语言:

for i in mail.list()[1]:
    l = i.decode().split(' "/" ')
    print(l[0] + " = " + l[1])