2010-06-10 70 views
8

我試圖做一些簡單的事情,使用python的imaplib將郵件從收件箱移動到垃圾箱。但是,我遇到了一些問題,我不知道如何解決它們。Imaplib:如何從Gmail中刪除電子郵件?

後連接,並登錄到服務器,我選擇INBOX郵箱,我得到的ID列表是這樣的:

typ, ids = imap_object.search(None, 'INBOX') 
ids_list = ids[0].split() 

讓我們假設我以ID從那裏,X,讓我們假設該電子郵件是對話的一部分。當我做

imap_object.fetch (X, '(RFC822)')[1] 

我可以看到剛纔的消息,如我所料,但是當我做

imap.store(X, '+FLAGS', r'(\Deleted)') 

它會刪除所有的談話,而不僅僅是郵件!另外,我不想徹底刪除的電子郵件,我想送它到垃圾,所以我曾嘗試:

imap.copy(X, '[Gmail]/Papelera') 
imap.store(X, '+FLAGS', r'(\Deleted)') 
imap.expunge() 

,但它只是複製的消息垃圾桶,之後,它會刪除整個談話,所以我失去了電子郵件!

問題:如何在不刪除整個對話的情況下使用imaplib從Gmail刪除電子郵件?

+0

在任何答案之前,您可以刪除的對話仍然可以在「所有郵件「文件夾(通過網頁界面)。 – tzot 2010-06-10 19:49:56

回答

2

我相信你的對話沒有被真正刪除:默認情況下,從最後一個文件夾中刪除每個IMAP的消息來歸檔對話。看看設置 - >轉發和POP/IMAP - >當郵件被標記爲從最後一個可見的IMAP文件夾中刪除並清除時:

相關問題