我正在尝试使用python下载电子邮件,并不断获取imaplib.error

问题描述

我直接从有关如何使用imaplib和BeautifulSoup来下载电子邮件的教程中复制了代码,但是运行它时却不断出错。我在做什么错了?

这是相关的代码,在此之后我收到的错误:

m.select('Orders',readonly=True)
result,data = m.uid('search',None,'(SINCE "01-Jul-2019" BEFORE "31-Aug-2019" SUBJECT \"Your order\")')

messages = data[0].split()


for item in messages:
    result2,email_data = m.uid('fetch',item,'(RCF822)')
    raw_email = email_data[0][1].decode("utf-8")
    email_message = email.message_from_string(raw_email)
    to_ = email_message['To']
    from_ = email_message['From']
    subject_ = email_message['Subject']
    date_ = email_message['date']
    counter = 1
    for part in email_message.walk():
        if part.get_contect_maintype() == "multipart":
            continue
        filename = part.get_filename()
        content_type = part.get_content_type()
        if not filename:
            ext = mimetypes.guess_extension(part.get_content_type())
            if not ext:
                ext = '.bin'
            if 'text' in content_type:
                ext = '.txt'
            filename = 'msg-part%08d%s' %(counter,ext)
        counter += 1
        save_path = os.path.join(os.getcwd(),"emails",date_,subject_)
        if not os.path.exists(save_path):
            os.makedirs(save_path)
        with open(os.path.join(save_path,filename),'wb') as fp:
            fp.write(part.get_payload(decode=True))

错误:

回溯(最近通话最近): 文件“ C:/Users/Alk/AppData/Local/Programs/Python/Python36/saveemails.py”,第52行,在 result2,email_data = m.uid('fetch',item,'(RCF822)') uid中的文件“ C:\ Users \ Alk \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ imaplib.py”,第871行 typ,dat = self._simple_command(名称,命令,* args) _simple_command中的文件“ C:\ Users \ Alk \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ imaplib.py”,行1188 返回self._command_complete(名称,self._command(名称,* args)) _command_complete中的文件“ C:\ Users \ Alk \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ imaplib.py”,行1019 引发self.error('%s命令错误:%s%s'%(名称,类型,数据)) imaplib.error:UID命令错误:错误[b'[CLIENTBUG] UID FETCH命令参数无效']

以退出代码1完成的过程

解决方法

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

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

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...