[英]Python 3: Move email to trash by uid (imaplib)
我想将收件箱中的电子邮件移至垃圾箱文件夹,我不希望电子邮件被永久删除,我希望它能够在垃圾箱中等待30天才能永久删除。
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login("example@gmail.com", "example")
mail.select("inbox")
result, data = mail.uid('search', None, "ALL")
uidList = data[0].split()
#processEmails returns the uids of the emails that I need
#not really important for the purposes of this question
newUidList = processEmails(uidList)
newUidList
for uid in newUidList:
mail.uid('STORE',uid, '+FLAGS', '(\\Deleted)')
我认为这行mail.uid('STORE',uid, '+FLAGS', '(\\\\Deleted)')
可以解决问题(因为这是我在互联网上找到的)。 但是在这里问这个问题,你可能已经正确地猜到它没有。
当我执行此脚本时,电子邮件按计划从收件箱中消失。 但是当我访问垃圾文件夹时,那里什么都没有。 所以我想也许他们被永久删除了。
但他们不是。 当我看到我的电子邮件存储空间快速填满时,我注意到了这一点,这意味着我的电子邮件仍在那里。
我进入“All Emails”文件夹,他们就在那里。
mail.uid('STORE',uid, '+FLAGS', '(\\\\Deleted)')
谢谢您的意见 :)
因此,对于遇到相同问题的任何人,我发现了如何通过uid将您的电子邮件移至垃圾箱。 回到我的帖子,我应该把mail.uid('STORE', uid, '+X-GM-LABELS', '\\\\Trash')
而不是mail.uid('STORE',uid, '+FLAGS', '(\\\\Deleted)')
你有它:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.