繁体   English   中英

Python imaplib:无法从imap注销

[英]Python imaplib: Cannot logout from imap

我写了一个python脚本来自动执行我的邮件帐户中的某些任务。 因此,我可以登录到yahoo邮件帐户,阅读,删除(通过imap)和发送电子邮件(通过smtp)。 之后,我要注销。 但是,我收到此错误,我不知道如何修复:

这是发生了什么:

Exception in close_imap
Traceback (most recent call last):
  File "/Users/Tom/MeineDaten/Programmieren/Sportwetten/Tipico/Report-Gambling-Apps/emailing/Mailer.py", line 55, in close_imap
    self.imap.close()
  File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/imaplib.py", line 445, in close
    typ, dat = self._simple_command('CLOSE')
  File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/imaplib.py", line 1180, in _simple_command
    return self._command_complete(name, self._command(name, *args))
  File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/imaplib.py", line 928, in _command
    ', '.join(Commands[name])))
imaplib.IMAP4.error: command CLOSE illegal in state LOGOUT, only allowed in states SELECTED

这是相应的代码:

import imaplib

...other code here...

def close_imap(self):
    if self.imap is None:
        print("close_imap: self.imap is None. No further action taken. Returning.")
        return
    try:
        self.imap.close()
        self.imap.logout()
    except Exception:
        print("Exception in close_imap")
        print(str(traceback.format_exc()))
        pass

我在这里做错了什么?

您正在尝试关闭文件夹,但尚未选择任何文件夹。

这可能是由于两种想法:

  • 您从未在此会话中选择文件夹
  • 您已经关闭了该文件夹,但是正在尝试再次关闭它。

您只应关闭一个文件夹一次。

注意 :在IMAP协议中,注销注销文件夹之前不需要这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM