Premetto che sono praticamente a digiuno di python (avevo cominciato a studiarlo, ma poi altri impegni hanno avuto la meglio), quindi il mio problema potrebbe essere frutto di banale ignoranza.
Detto questo, da tempo uso uno script python per controllare la presenza di messaggi non letti nel mio account gmail ed ha sempre funzionato benissimo. Oggi ho attivato un nuovo account su gmx.com e quindi ho provato a riadattare lo script in modo da gestire i messaggi sul mio nuovo indirizzo. Ma quando lo lancio da shell per provarlo mi restituisce questi errori:
Codice: Seleziona tutto
Traceback (most recent call last):
File "prova.py", line 37, in <module>
if __name__ == '__main__' : main()
File "prova.py", line 35, in main
check_mail(Server, username, passwd)
File "prova.py", line 16, in check_mail
mb.login(username, passwd)
File "/usr/lib64/python2.6/imaplib.py", line 500, in login
raise self.error(dat[-1])
imaplib.error: authentication failed
(l'username è effettivamente nella forma riportata)
Codice: Seleziona tutto
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import imaplib
import pynotify
def check_mail(Server, username, passwd):
try:
mb = imaplib.IMAP4_SSL(Server)
except:
print 'An error occurred!'
sys.exit()
mb.login(username, passwd)
res = mb.status('INBOX', '(UNSEEN)')
num_messaggio = int(res[1][0].split()[-1][0:-1])
if num_messaggio == 0:
print 'No new messages'
else:
print '%d New messages' % (num_messaggio)
n = pynotify.Notification('GMX: %d new message(s)!' % num_messaggio)
n.show()
mb.logout()
def main():
Server = 'imap.gmx.com'
username = 'user.name@gmx.com'
passwd = 'passwd'
check_mail(Server, username, passwd)
if __name__ == '__main__' : main()