2010-06-10 47 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文件夹中删除并清除时:

相关问题