Pathon IMAP Mailabrufen
Verfasst: Freitag 8. März 2019, 11:20
Hallo zusammen,
ich versuche per Python und Imap Mails aus einem postfach abzurufen.
Leider bekomme ich die Mail nicht verarbeitet:
Leider liefert dieser Aufruf nichts wirklich etwas zurück.
nur folgendes Zurück:
bearbeite Mail:
Betreff: None
Absender: None
darauf habe ich mir das ein Mal Schritt für Schritt angesehen:
maildata[0] sieht wie folgt aus:
['11 (FLAGS () INTERNALDATE "06-Mar-2019 07:04:20 +0100" RFC822.SIZE 66226 ENVELOPE ("Wed, 6 Mar 2019 07:04:15 +0100" "Rechnung" (("********" NIL "(("********" " "gmx.net")) NIL NIL (("rechnung" NIL "rechnung" "(("********" .de")) NIL NIL NIL "<(("********" ==@gmx.net>"))']
Wo liegt das Problem, das da keine verwertbare ausgabe rauskommt.
Ich habe das schon mal genau so gemacht auf einem anderen System vor einiger Zeit und da hat das Funktioniert...
Installiert ist Python 2.7.12
Vielen Dank für die Hilfe
ich versuche per Python und Imap Mails aus einem postfach abzurufen.
Leider bekomme ich die Mail nicht verarbeitet:
Code: Alles auswählen
#!/usr/bin/python
import email
from email.header import Header, decode_header, make_header
import os
import poplib
import time
import subprocess
import imaplib
import re
import sys
MAILSERVER = ""
BENUTZER = ""
PASSWORT = ""
POSTEINGANG = "INBOX"
imap = imaplib.IMAP4_SSL(MAILSERVER)
imap.login(BENUTZER,PASSWORT)
imap.select(POSTEINGANG)
typ, data = imap.search(None, 'All')
for mailid in data[0].split(' '):
if str(mailid) != "":
typ, maildata = imap.fetch(mailid,'ALL')
emailBody = maildata[0]
mail = email.message_from_string(emailBody)
betreff = ""
try:
decode = email.header.decode_header(mail['Subject'])[0]
except ValueError:
betreff = "Betreff mit Umlauten"
else:
try:
subject = unicode(decode[0])
except ValueError:
betreff = "Betreff mit Umlauten"
else:
betreff = subject
#Lese Absender:
absender = ""
try:
decode = email.header.decode_header(mail['From'])[0]
except ValueError:
absender = "Absender mit Umlauten"
else:
try:
dec = unicode(decode[0])
except ValueError:
absender = "Absender mit Umlauten"
else:
absender = dec
attcnt = 0
print ""
print "bearbeite Mail:"
print "Betreff: " + betreff
print "Absender: " + absender
nur folgendes Zurück:
bearbeite Mail:
Betreff: None
Absender: None
darauf habe ich mir das ein Mal Schritt für Schritt angesehen:
maildata[0] sieht wie folgt aus:
['11 (FLAGS () INTERNALDATE "06-Mar-2019 07:04:20 +0100" RFC822.SIZE 66226 ENVELOPE ("Wed, 6 Mar 2019 07:04:15 +0100" "Rechnung" (("********" NIL "(("********" " "gmx.net")) NIL NIL (("rechnung" NIL "rechnung" "(("********" .de")) NIL NIL NIL "<(("********" ==@gmx.net>"))']
Wo liegt das Problem, das da keine verwertbare ausgabe rauskommt.
Ich habe das schon mal genau so gemacht auf einem anderen System vor einiger Zeit und da hat das Funktioniert...
Installiert ist Python 2.7.12
Vielen Dank für die Hilfe