Pagina 1 di 1

Aiuto con script python

Inviato: mar 5 giu 2012, 18:02
da Eberoth
Salve,
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
Il codice dello script, epurato dai miei dati personali, è:
(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()
So che avere psw e username in chiaro non è il massimo come sicurezza, ma ad oggi è il meglio che riesco a fare (ogni suggerimento è ben accetto).

Re: Aiuto con script python

Inviato: mar 5 giu 2012, 20:23
da targzeta
Anche io non sono espertissimo in python, però quel:

Codice: Seleziona tutto

imaplib.error: authentication failed
mi sembra un buon punto di inizio, no?

Emanuele

Re: Aiuto con script python

Inviato: mar 5 giu 2012, 21:15
da Eberoth
Sì, lo sembrava anche a me prima di passare un'ora su google senza riuscire a risolvere... la maggior parte dei risultati risultati non ha nulla a che vedere col mio caso (e praticamente tutti riguardano gmail), il resto punta ai vari manuali su imaplib.py che, però, consistono in una lunga lista di opzioni, comandi e variabili... abbastanza inutili visto il mio livello di python ed il loro carattere estremamente generale.
Al momento so solo che il problema è nell'autenticazione, ma non ho idea di quale sia il problema né di cosa fare per risolverlo.