从网络邮件中删除邮件-不适用于所有文件夹

问题描述

我正在使用以下代码从网络邮件中删除电子邮件:

def process_webmail():
    box = imaplib.IMAP4_SSL(server)
    box.login(username,password)
    print("Connected to webmail")
    _tuple = box.list()
    if len(_tuple) <= 0:
        return

    before_date = (datetime.date.today() - datetime.timedelta(30)).strftime("%d-%b-%Y") 
    for folder in _tuple[1]:
        _folder_name = folder.split('\"/\"')
                    
        f = _folder_name[1].strip().strip('\"')
        if f.lower() == "inbox":
            pass
        else:
            box.select(f)
            # typ,data = box.search(None,'ALL')
            typ,'(BEFORE {0})'.format(before_date))
            if data != ['']:
                for num in data[0].split():
                    box.store(num,'+FLAGS','\\Deleted')

    print(box.expunge())
    box.close()
    box.logout()

我们有2种类型的文件夹。 1)创建文件夹并将邮件手动复制到该文件夹​​。 2)已应用过滤器以复制邮件。

以上代码在1上有效,而在2的情况下仅将电子邮件标记为已删除。不知道是什么问题。有人请帮助我了解这个问题。

Roundcube是正在使用的网络邮件。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)