【问题标题】:Python - Why uid function is not deleting my e-mail sent?Python - 为什么 uuid 函数没有删除我发送的电子邮件?
【发布时间】:2016-04-25 11:46:23
【问题描述】:

我是 Python 新手,我正在尝试使用 imaplib。我想删除从我的 hotmail 帐户发送的特定电子邮件。我找到了邮件,代码没有返回错误但邮件没有被删除。

mail = imaplib.IMAP4_SSL('imap-mail.outlook.com')
mail.login('XXXXX@hotmail.com', 'XXXXX')
mail.select('Sent')
typ, data = mail.search(None, 'ALL')
control = 0
tam = len(data[0].split())
while control < tam:
    typ, data = mail.fetch(tam - control, '(RFC822)')
    if str(data).find("My Subject") != -1: #works
        mail.uid('STORE', str(tam - control) , '+FLAGS', '(\Deleted)') # doesn't work
        mail.expunge() # doesn't work
    control = control + 1

有什么想法吗?提前致谢!

【问题讨论】:

  • 使用 UID 获取和删除邮件

标签: python imaplib


【解决方案1】:

IMAP4.uid() 需要一个消息 UID,而您似乎正在使用消息号。试试这个:

mail.store(str(tam - control), '+FLAGS', '\\Deleted')
mail.expunge()

请注意,IMAP4 邮件编号会随着邮箱的变化而变化;特别是,在EXPUNGE 命令执行删除后,剩余的消息会重新编号。

【讨论】:

    猜你喜欢
    • 2015-03-15
    • 2014-01-08
    • 2023-04-06
    • 2019-07-03
    • 2021-09-22
    • 1970-01-01
    • 2016-05-02
    • 2013-10-27
    • 1970-01-01
    相关资源
    最近更新 更多