[英]GMail with Python and imaplib - searching in “All mail”
我正在嘗試使用Python和imaplib構建電子郵件客戶端。
當前我的問題是:我想在包含所有電子郵件的文件夾上進行搜索。 通常稱為“ [GMail] /所有電子郵件”。
我的問題是,我的GMail是葡萄牙語。 因此,在我的情況下,選擇與葡萄牙語等效的“ [Gmail] / Todo o correio”是可行的,但是選擇“ [Gmail /所有電子郵件”則不起作用。
這是一個問題,因為自然地,我想要一種通用的方式來訪問任何Gmail帳戶中的“所有郵件”文件夾,而不受國家/地區的影響。
當然,我可以遵循一個簡單的解決方案,例如在所有文件夾上進行搜索並返回匯總結果,但是我絕對不想走那條路。
是通用解決方案嗎? 謝謝
不久后找到了解決方案。 為了方便將提及。
運行mail_instance.list()時,您將獲得一個文件夾列表,例如:
(\Noselect \HasChildren) "/" "[Gmail]"
(\HasChildren \HasNoChildren \Trash) "/" "[Gmail]/Caixote do Lixo"
(\HasNoChildren \Flagged) "/" "[Gmail]/Com estrela"
(\HasChildren \HasNoChildren \Sent) "/" "[Gmail]/Correio enviado"
(\HasChildren \HasNoChildren \Important) "/" "[Gmail]/Importante"
(\HasChildren \HasNoChildren \Drafts) "/" "[Gmail]/Rascunhos"
(\HasNoChildren \Junk) "/" "[Gmail]/Spam"
(\HasChildren \HasNoChildren \All) "/" "[Gmail]/Todo o correio"
(這些都是葡萄牙語)
“所有郵件”文件夾的名稱始終在字符串中包含標簽“ \\ All”,因此只需在.list()返回的所有文件夾名稱中搜索“ \\ All”。
然后,只需將子字符串從“ [Gmail]”的索引提取到此后的第一個雙引號的索引,即可獲得“所有郵件”文件夾的名稱。
看到這個答案: https : //stackoverflow.com/a/3846248/2131094
“谷歌和蘋果公司開發了一種特殊的IMAP命令XLIST來解決此問題。”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.