Python 3:通过uid将电子邮件移到垃圾箱(imaplib)

2skhul33  于 2022-12-01  发布在  Python
关注(0)|答案(1)|浏览(177)

我想把一封电子邮件从我的收件箱移到垃圾箱文件夹,我不想永久删除这封电子邮件,我想让它在垃圾箱中等待30天才被永久删除。

1.登录时间:

mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login("example@gmail.com", "example")

2.在我的收件箱中获得uid列表:

mail.select("inbox")
result, data = mail.uid('search', None, "ALL")
uidList = data[0].split()

3.已处理这些电子邮件:

#processEmails returns the uids of the emails that I need
#not really important for the purposes of this question

newUidList = processEmails(uidList)

4.删除newUidList中的电子邮件

for uid in newUidList:
    mail.uid('STORE',uid, '+FLAGS', '(\\Deleted)')

我原以为mail.uid('STORE',uid, '+FLAGS', '(\\Deleted)')这一行可以解决这个问题(因为这是我在网上找到的),但在这里问这个问题,你可能已经正确地猜到它没有。
发生了什么?
当我执行这个脚本的时候,邮件从收件箱中消失了,就像我计划的那样。但是当我访问垃圾箱时,那里什么都没有。所以我想也许它们被永久删除了。
但他们不是。我注意到这一点,当我看到我的电子邮件存储空间正在填补快,这意味着我的电子邮件仍然在那里的某个地方。
我进入“所有电子邮件”文件夹,它们就在那里。
所以我的问题是...
1.我如何得到我想要的结果?这是移动电子邮件到垃圾箱文件夹的UID。
1.为什么它没有做我认为它会做的事情?我要求对这行mail.uid('STORE',uid, '+FLAGS', '(\\Deleted)')做出解释
最重要的是...
感谢您的参与:)

zc0qhyus

zc0qhyus1#

我找到答案了!

所以对于任何有同样问题的人,我发现了如何通过uid将你的电子邮件移到垃圾桶。
这就是了:)

相关问题