Seite 1 von 1

Probleme beim Speichern von Anhängen via phyton

Verfasst: Donnerstag 25. April 2019, 16:24
von Bene1991
Hallo Liebe Gemeinde,

ich möchte gerne Emails via Python abrufen und die Anhänge speichern, diese sollen dann durch ein cron job gedruckt werden.
Das Script habe ich hier im Forum gefunden jedoch erhalte ich beim ausführen folgenden Fehler:

Code: Alles auswählen

/Users/benediktschulz/PycharmProjects/untitled/venv/bin/python /Users/benediktschulz/PycharmProjects/untitled/test
Traceback (most recent call last):
  File "/Users/benediktschulz/PycharmProjects/untitled/test", line 38, in <module>
    main()
  File "/Users/benediktschulz/PycharmProjects/untitled/test", line 32, in main
    save_attachments('\Users'.join(client.retr(message_number)[1]))
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/poplib.py", line 232, in retr
    return self._longcmd('RETR %s' % which)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/poplib.py", line 167, in _longcmd
    return self._getlongresp()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/poplib.py", line 143, in _getlongresp
    resp = self._getresp()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/poplib.py", line 136, in _getresp
    raise error_proto(resp)
poplib.error_proto: -ERR Noise after message number:  126533

Process finished with exit code 1
Das Hier ist der Code dazu:

Code: Alles auswählen

from __future__ import absolute_import, division, print_function
import email
import os
import poplib

PROVIDER = 'pop.server.de'
USER = 'xxx@xxx.de'
PASSWORD = '12345677'

SAVE_DIR = '/Users/benediktschulz/'


def save_attachments(mail_string):
    attachments = list()
    for part in email.message_from_string(mail_string).walk():
        filename = part.get_filename()
        if filename:
            attachments.append((filename, part.get_payload(decode = True)))

    for filename, content in attachments:
        with open(os.path.join(SAVE_DIR, filename), 'wb') as attachment_file:
            attachment_file.write(content)
        print('Found and saved attachment {0!r}.'.format(filename))


def main():
    try:
        client = poplib.POP3_SSL(PROVIDER)
        client.user(USER)
        client.pass_(PASSWORD)
        for message_number in client.list()[1]:
            save_attachments('\Users'.join(client.retr(message_number)[1]))
    finally:
        client.quit()


if __name__ == '__main__':
    main()
Ich hoffe könnt mir helfen, vielen Dank im Vorraus.

Re: Probleme beim Speichern von Anhängen via phyton

Verfasst: Donnerstag 25. April 2019, 17:10
von Bene1991
Habe das ganze jetzt auf meinen RasberryPi übertragen, hier kommt beim ausführen Folgende Fehlermeldung:
Invalid message number: b1´1 126533

Liebe und vielen Dank schonmal

Re: Probleme beim Speichern von Anhängen via phyton

Verfasst: Donnerstag 25. April 2019, 17:23
von __blackjack__
Wie sieht denn das Ergebnis von dem `client.list()`-Aufruf aus?