[Risolto]Python send email

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
odiusseus
Linux 2.x
Linux 2.x
Messaggi: 352
Iscritto il: sab 30 giu 2007, 14:09
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde
Località: roma/vibo valentia
Contatta:

[Risolto]Python send email

Messaggio 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!!!
Ultima modifica di odiusseus il lun 4 apr 2011, 14:31, modificato 1 volta in totale.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Python send email

Messaggio 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 ...?

odiusseus
Linux 2.x
Linux 2.x
Messaggi: 352
Iscritto il: sab 30 giu 2007, 14:09
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde
Località: roma/vibo valentia
Contatta:

Re: Python send email

Messaggio da odiusseus »

ops...è una svista....di copia ed incolla...

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Re: Python send email

Messaggio 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...

odiusseus
Linux 2.x
Linux 2.x
Messaggi: 352
Iscritto il: sab 30 giu 2007, 14:09
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde
Località: roma/vibo valentia
Contatta:

Re: Python send email

Messaggio 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!

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Python send email

Messaggio 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

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Re: Python send email

Messaggio 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

odiusseus
Linux 2.x
Linux 2.x
Messaggi: 352
Iscritto il: sab 30 giu 2007, 14:09
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde
Località: roma/vibo valentia
Contatta:

Re: Python send email

Messaggio 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/

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Re: Python send email

Messaggio 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:

Rispondi