你能用imaplib删除电子邮件吗?如果是这样的话?
答案 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
。