Pagina 1 di 1

[Risolto]Python send email

Inviato: lun 4 apr 2011, 9:58
da odiusseus
Salve ragazzi sto riscontrando un problema con l'invio di email tramite python. Il problema sta nello script non nelle singole righe che compongono lo script!!( :?:). Quello che voglio dire è che se lancio python e poi eseguo dal prompt di python ogni riga funziona tutto a dovere e l'email viene inviata. Se invece invoco lo script

Codice: Seleziona tutto

python email.py
ottengo un messaggio:

Codice: Seleziona tutto

Traceback (most recent call last):
  File "email.py", line 3, in <module>
    import email
  File "/home/antonio/Documenti/prove-Python/email/email.py", line 12, in <module>
    messaggio = email.message_from_string(j)                                                                                                                                                          
AttributeError: 'module' object has no attribute 'message_from_string'   
questo è il codice...non ha nulla di speciale!!!!

Codice: Seleziona tutto

import smtplib  
fromaddr = 'email@gmail.com'  
toaddrs  = 'email@yahoo.it'  
messaggio = 'Messaggio'  

 # Credentials (if needed)  
username = 'email@gmail.it'  
password = 'password'  
server = smtplib.SMTP('smtp.gmail.com:587')  
server.starttls()  
server.login(username,password)  
server.sendmail(fromaddr, toaddrs, messaggio)  
server.quit()  
Grazie!!!

Re: Python send email

Inviato: lun 4 apr 2011, 10:02
da conraid
non conosco python, ma immagino che i nomi delle variabili devono rimanere uguali all'interno del programma anche in python
prima dichiari messaggio e poi invochi messaggio, va bene così, è una svista nella copia o ...?

Re: Python send email

Inviato: lun 4 apr 2011, 10:39
da odiusseus
ops...è una svista....di copia ed incolla...

Re: Python send email

Inviato: lun 4 apr 2011, 10:54
da Paoletta
ciao, nemmeno io conosco python, ma presumo che il problema sia dovuto al fatto che il tuo script 'email.py' sia omonimo a /usr/lib/python2.6/email/ (che il sistema dovrebbe caricare tramite smtplib); prova a rinominare il tuo script in posta.py e a lanciarlo...

Re: Python send email

Inviato: lun 4 apr 2011, 12:48
da odiusseus
grazie ragazzi per le risposte ma il problema non si è risolto cambiando il nome...non riesco a capire dove sta l'errore!! Forse c'è qualche differenza tra python 2.6 e 2.7!

Re: Python send email

Inviato: lun 4 apr 2011, 13:03
da conraid
il parametro "messaggio" da passare alla funzione sendmail non dovrebbe essere solamente un messaggio di testo, ma un messaggio "formattato", comprensivo degli header, in quanto gli altri due sono usati per l'evelope address
nella documentazione è spiegato bene
http://docs.python.org/library/smtplib.html

Re: Python send email

Inviato: lun 4 apr 2011, 14:23
da Paoletta
se hai il file email.pyc, toglilo; se il programma va da riga di comando e non per invocazione deve essere un problema sul nome

Re: Python send email

Inviato: lun 4 apr 2011, 14:30
da odiusseus
Ragazzi....avevate ragione!!!ehehe che testone. Mi era scappato il fatto che avevo cerato un file con nome email diverso da quello dello script. L'ho scoperto provando lo script su un altro pc sul quale funziona! Grazie mille anche perchè mi avete risparmiato almeno 10 sigarette!!!! \:D/

Re: Python send email

Inviato: lun 4 apr 2011, 15:40
da Paoletta
odiusseus ha scritto:Ragazzi....avevate ragione!!!ehehe che testone. Mi era scappato il fatto che avevo cerato un file con nome email diverso da quello dello script. L'ho scoperto provando lo script su un altro pc sul quale funziona! Grazie mille anche perchè mi avete risparmiato almeno 10 sigarette!!!! \:D/
prego! :wink: