2011-06-10 81 views
2

我有一個使用imaplib連接到gmail賬戶的python腳本,並根據電子郵件地址中的'+'標籤對電子郵件進行排序。例如:發送到[email protected]的電子郵件已移至根\ foo \ bar。處理IMAP郵箱名稱大小寫敏感

我的邏輯如下:提取標籤 - >嘗試創建文件夾 - >將消息複製到文件夾。

非常偶然的一封電子郵件會帶有相同的標籤,但不同的外殼。 [email protected],例如,並導致該輸出:

​​

所以無法創建文件夾,因爲具有相同名稱的文件夾已經存在(只是用不同的情況下, ),但複製失敗,因爲顯式文件夾不存在。

有沒有一些聰明的方法,我可以找出現有的文件夾的正確大小寫,所以我可以移動消息沒有問題?

注意:這不像只強制所有標籤小寫一樣簡單。用戶通過電子郵件客戶端連接到該帳戶,並且手動製作文件夾,無論這些文件夾對他們來說都是有意義的。

回答

2

因此,Google會抱怨文件夾已經存在,但是當您嘗試向其中移動某些東西時會出現錯誤?了不起。

IMAP有一個 「LIST」 命令列出可用郵箱(文件夾):

http://tools.ietf.org/html/rfc3501#section-6.3.8

如何訪問取決於您的IMAP客戶端庫。 Here are a couple of examples

+0

我的想法。謝謝雖然 - 我想我會用list來生成當前現有文件夾的字典,並使用tags.lower()作爲鍵。當我實施它時,我會發布我的解決方案。 – 2011-06-10 21:03:47