m.expunge 未删除消息
Message not deleting with m.expunge
我在这里研究了很多问题和答案,据我所知,我的代码是正确的。但是由于某种原因,我选择的邮件没有被删除。
我的代码是:
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', [None])
即使有 "OK" 回复,邮件仍在邮箱中。
我不确定为什么会这样
您正在使用 UID 来识别邮件,因此您还需要使用 UID 命令来更改 \Deleted 标志:
m.uid('STORE' uid, "+FLAGS", "\Deleted")
您当前正尝试在具有相同 UID 的消息序列号上设置已删除标志,该 UID 可能不存在,或者引用了完全不同的消息。
我在这里研究了很多问题和答案,据我所知,我的代码是正确的。但是由于某种原因,我选择的邮件没有被删除。
我的代码是:
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', [None])
即使有 "OK" 回复,邮件仍在邮箱中。 我不确定为什么会这样
您正在使用 UID 来识别邮件,因此您还需要使用 UID 命令来更改 \Deleted 标志:
m.uid('STORE' uid, "+FLAGS", "\Deleted")
您当前正尝试在具有相同 UID 的消息序列号上设置已删除标志,该 UID 可能不存在,或者引用了完全不同的消息。