如何解决我正在尝试使用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 举报,一经查实,本站将立刻删除。