[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.
odiusseus
Linux 2.4
Linux 2.4
Messaggi: 352
Iscritto il: sab giu 30, 2007 14:09
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde
Località: roma/vibo valentia
Contatta:

[Risolto]Python send email

Messaggioda odiusseus » lun apr 04, 2011 9:58

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 apr 04, 2011 14:31, modificato 1 volta in totale.

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

Re: Python send email

Messaggioda conraid » lun apr 04, 2011 10:02

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.4
Linux 2.4
Messaggi: 352
Iscritto il: sab giu 30, 2007 14:09
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde
Località: roma/vibo valentia
Contatta:

Re: Python send email

Messaggioda odiusseus » lun apr 04, 2011 10:39

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

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3942
Iscritto il: lun apr 25, 2005 0:00
Slackware: 13.1
Desktop: fluxbox
Località: Varese

Re: Python send email

Messaggioda Paoletta » lun apr 04, 2011 10:54

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.4
Linux 2.4
Messaggi: 352
Iscritto il: sab giu 30, 2007 14:09
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde
Località: roma/vibo valentia
Contatta:

Re: Python send email

Messaggioda odiusseus » lun apr 04, 2011 12:48

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: 12658
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: Python send email

Messaggioda conraid » lun apr 04, 2011 13:03

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: 3942
Iscritto il: lun apr 25, 2005 0:00
Slackware: 13.1
Desktop: fluxbox
Località: Varese

Re: Python send email

Messaggioda Paoletta » lun apr 04, 2011 14:23

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.4
Linux 2.4
Messaggi: 352
Iscritto il: sab giu 30, 2007 14:09
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde
Località: roma/vibo valentia
Contatta:

Re: Python send email

Messaggioda odiusseus » lun apr 04, 2011 14:30

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: 3942
Iscritto il: lun apr 25, 2005 0:00
Slackware: 13.1
Desktop: fluxbox
Località: Varese

Re: Python send email

Messaggioda Paoletta » lun apr 04, 2011 15:40

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:


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite