2017-05-28 185 views
0

我正在使用Django構建郵件客戶端,並提取使用imaplib的電子郵件。 到目前爲止,我可以選擇收件箱文件夾的原因在每個imap服務器它的名稱是「INBOX」。但是,當選擇其他文件夾,如垃圾郵件,發送和其他我有麻煩,因爲他們的名字是基於帳戶語言。 對於爲例我的帳戶設置爲俄語語言和上市的郵件是這樣的:Python imaplib選擇文件夾

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-"' 

我怎麼能選擇文件夾,儘管選擇的帳戶語言? 如果我使用:

mail.select("&BBoEPgRABDcEOAQ9BDA-") 

它的工作原理,但我的郵件客戶端是沒有用的這個樣子。

回答

1

我決定把標準輸出,並使用文件夾名稱,因爲它們是在語言,他們來到:

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