我有一个脚本,可以下载特定文件夹/标签的google takeout备份导出,一旦完成这一部分,下一步就是执行删除脚本。因为我是做外卖的,所以需要2-3天的时间来创建备份,然后才能下载,因为电子邮件备份相当大。因此,在这2-3天内,当我等待备份准备好下载时,我会收到电子邮件,而这些电子邮件不会出现在我请求的备份导出中
所以我希望我的脚本从今天起2-3天内删除电子邮件。下面是我的代码,我知道我需要过滤/搜索的部分在“typ,data=mail.search(无,'全部') " 但是,我不确定该在哪里进行过滤,并告诉它仅标记/选择2-3天前发送到垃圾箱的电子邮件。有什么帮助吗
def deleteEmailIMAP(user, password, IMAP):
mail = imaplib.IMAP4_SSL(IMAP)
mail.login(user, password)
print("Logging into account:", email )
mail.select("Process") #select folder/label
print("Process Folder Selected")
time.sleep(2)
typ, data = mail.search(None, 'ALL')
print(" Emails from Process Folder sent to Trash")
for num in data[0].split():
mail.store(num, '+X-GM-LABELS', r'(\Trash)') #sent to trash and removed from folder
mail.expunge()
print("Sent to Trash.")
print("Emptying Trash & Expunge...")
mail.select('[Gmail]/Trash') # select all trash
mail.store("1:*", '+FLAGS', '\\Deleted') #Flag all Trash as Deleted
mail.expunge() # not need if auto-expunge enabled
print("Done. Closing connection & logging out.")
time.sleep(2)
mail.close()
mail.logout()
exit()
deleteEmailIMAP(email, passw, imapserver)
这是代码中的关键行:
您可以将
ALL
更改为例如BEFORE "12-Oct-2020"
,因为您实际上不想搜索所有邮件。有关详细信息和其他可能的搜索键,请参见规范的pages 49-54和page 84顺便说一句,我很惊讶这里有多少问题包含搜索所有邮件的代码
https://github.com/ikvk/imap_tools
相关问题 更多 >
编程相关推荐