我在这里研究了很多问题和答案,从我可以看到我的代码是正确的。但出于某种原因,我选择的邮件没有被删除。
我的代码是:
m = imaplib.IMAP4_SSL("imap-mail.outlook.com")
m.login("MY_EMAIL","MY_PWORD")
m.select("Sent")
resp, data = m.uid("search", None, "ALL")
uid = data[0].split()[-1]
#Can also get message content with lines
# resp,data = m.uid('fetch',uid,"(BODY[HEADER])")
# print(data)
m.store(uid, "+FLAGS", "\\Deleted") #Works fine to here
m.expunge() #This doesn't delete message
m.close()
m.logout()
如果我将m.expunge()
行更改为print(m.expunge())
,我会获得元组
('确定',[无])
即使“OK”响应,邮件仍在邮箱中。 我不确定为什么会发生这种情况
答案 0 :(得分:0)
您正在使用UID来识别消息,因此您还需要使用UID命令来更改\ Deleted标志:
m.uid('STORE' uid, "+FLAGS", "\\Deleted")
您目前正在尝试使用相同的UID设置已删除的邮件序列号,该UID可能不存在,或者指的是完全不同的邮件。