使用python imaplib从Gmail“删除”电子邮件?

时间:2009-11-22 00:13:58

标签: python email imap

你能用imaplib删除电子邮件吗?如果是这样的话?

3 个答案:

答案 0 :(得分:21)

使用store方法(代表您的连接的IMAP4对象)在您要删除的邮件编号上设置r'\Deleted'标记,如docs show中的示例所示;然后expunge方法实际执行所有删除标记。

默认情况下,Gmail的IMAP实现具有略微不同的语义,但是如果您希望它可以tweak它的行为更像传统的IMAP实现(上面的序列有效) - 基本上你必须启用“高级IMAP控件”实验室,然后按照我给出的URL上的说明准确获取您想要的IMAP语义(物理删除而不是存档“已删除”邮件,等待或不等待expunge,等等)

答案 1 :(得分:17)

通过IMAP删除电子邮件分两个阶段进行:

  • 标记一个或多个要删除的项目:imap.store(msg_no, '+FLAGS', '\\Deleted')
  • 清除邮箱:imap.expunge()

imap是您的IMAP4对象)

答案 2 :(得分:8)

imap.uid('STORE', list_of_msgno , '+FLAGS', '(\Deleted)')  
imap.expunge() 

imap.uid('STORE', '2, 4, 9, 12' , '+FLAGS', '(\Deleted)') 

此处(2, 4, 9, 12)是要删除的邮件的uid