簡體   English   中英

使用Python和imaplib的GMail-在“所有郵件”中搜索

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM