Ich schrieb ein Python-Skript, um einige Aufgaben auf meinem Mail-Konto zu automatisieren. Also, ich kann mich in meinen Yahoo Mail Account einloggen, lesen, löschen (via imap) und Emails senden (via SMTP). Danach möchte ich mich ausloggen. Allerdings bin ich diesen Fehler, die ich weiß nicht, wie zu reparieren:Python imaplib: Ich kann mich nicht aus Imap abmelden
Dies ist, was passiert:
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
Und das ist der entsprechende Code:
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
Was bin ich hier falsch machen?
Betrachten Sie die Traceback: 'Datei" /path/to/my/python/project/emailing/Mailer.py ", Zeile 55, in close_imap'' self.imap.select ('INBOX') '. Fehler append an Zeile 'self.imap.select ('INBOX')' diese Zeile ist nicht in dem Beispiel, das Sie angegeben haben. Zwei Lösungen: Sie geben nicht den wirklichen Code, mit dem Sie kämpfen, ODER Sie führen dieses Skript nicht aus, sondern ein anderes (pyc Problem?). – Arount
Initiaty wenn ich diese Frage stelle, habe ich einen falschen Stacktrace hinzugefügt. Ich habe die Frage mit einem anderen Stacktrace aktualisiert. Sorry, aber thx für die Antwort – toom
Ok, ich denke du hast deine Verbindung zweimal geschlossen, kannst du den ganzen Code veröffentlichen? – Arount