gpt4 book ai didi

python - 无法使用 imaplib 删除消息

转载 作者:行者123 更新时间:2023-11-30 22:48:06 25 4
gpt4 key购买 nike

我使用此代码从我的电子邮件中删除一条消息:

mail.store(id, '+FLAGS', '\\Deleted')
mail.expunge()

此代码返回“Ok”。

('OK', [None])

我还将我的 Gmail 帐户中的设置更改为:

Settings of my imap using with gmail

但我还是无法删除消息。这是为什么?

最佳答案

您正在混合“消息序列号”(MSN,您称之为“假 ID”)和“唯一 ID”(UID,您称之为“真实 ID”)。

到处使用UID更方便。有一些命令同时具有 MSN 和 UID 版本:FETCH 与 UID FETCH、SEARCH 与 UID SEARCH、STORE 与 UID STORE。您必须保持一致,但否则它们的工作原理是相同的。

因此,如果您使用 UID SEARCH,则应该使用 UID STORE:

email.uid('STORE', id, '+FLAGS', '(\\Deleted)')
email.expunge()

关于 Gmail 上的删除,特别是:尽管用户设置了删除,但我发现它总是只删除“收件箱”标签(或您碰巧位于的任何文件夹),这会将其存档在您的“所有邮件”文件夹中或等效的。要真正删除它,您可能需要:

  • 将其移动到用户的“垃圾箱”文件夹(使用(UID) MOVE,或(UID) COPY和删除的组合。
  • 然后将其从用户的“废纸篓”文件夹中删除。大多数用户会发现将其留在垃圾箱中直到 30 天后自动删除是可以接受的。

关于python - 无法使用 imaplib 删除消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40288113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com