python nach neuen Email sehen

achim50

Cadet 2nd Year
Registriert
Jan. 2016
Beiträge
23
Hallo,
ich als Neuling möchte mir eine Abfrage basteln die mir anzeigt ob neue Emails in einem Postfach vorhanden sind.
Es reicht nur die Benachrichtig : Sie haben XX neue Mails.

ich bekomme aber eine Fehlermeldung. Die Logindaten sind aber richtig.

imaplib.error: b'Login failed.'


Gruß
Achim


#!/usr/bin/env python


import imaplib

imap_host = 'mail.xxxx.de'
imap_user = 'xx@xx.de'
imap_pass = 'xxxxxxx'

## open a connection
imap = imaplib.IMAP4(imap_host)

## login
imap.login(imap_user, imap_pass)

## get status for the mailbox (folder) INBOX
folderStatus, UnseenInfo = imap.status('INBOX', "(UNSEEN)")

print (folderStatus)
print (imap)
 
Danke für die Info. Das hat jetzt aber nichts mit Python zu tun, oder?
Wie gesagt bin da echt ein Neuling.

Ich möchte das schon gerne mit Python umsetzten um auch Python zu lernen :)
 
Das hat mit IMAP zu tun. Damit loggst du dich manuell in deinen IMAP Server ein, stellst fest wie/was nicht geht.

Du hast kein Python Problem sondern ein IMAP Problem: auf die eine oder andere Weise akzeptiert der IMAP Server deine Logindaten nicht. Also musst du rausfinden wieso. Python hilft da nicht.
 
Der Fehler lag mal wieder im Detail. Ich habe das PW per Past and Coppy in das Script kopiert und da fehlten die ersten zwei Zeichen.
Der Fehler kam raus per Telnet ;-)

Danke noch mal an HominiLupus !

Besten Danke
Achim
 
Jetzt bin ich bei dem nächsten Problem.
Durch :
UnseenInfo = imap.status('INBOX', "(UNSEEN)")
erhalte ich:
('OK', [b'"INBOX" (UNSEEN 0)'])

Wenn Mails vorhanden sind dann 1,2 usw.

Jetzt möchte ich aber das, wenn Mails vorhanden sind, die Meldung erscheint: Sie haben Post bzw keine Post.

Da erhalte ich aber immer den Text "Sie haben Post":mad:

nseenInfo = imap.status('INBOX', "(UNSEEN)")


if "0" in nseenInfo:
print("Sie haben keine Post")

else:
print("Sie haben Post")
 
Zurück
Oben