Repository 32bit  Forum
Repository 64bit  Wiki

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

[Risolto]Python send email

Messaggioda odiusseus » lun apr 04, 2011 8: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 13:31, modificato 1 volta in totale.
odiusseus
Linux 2.4
Linux 2.4
 
Messaggi: 352
Iscritto il: sab giu 30, 2007 13:09
Località: roma/vibo valentia
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde

Re: Python send email

Messaggioda conraid » lun apr 04, 2011 9: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 ...?
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Python send email

Messaggioda odiusseus » lun apr 04, 2011 9:39

ops...è una svista....di copia ed incolla...
odiusseus
Linux 2.4
Linux 2.4
 
Messaggi: 352
Iscritto il: sab giu 30, 2007 13:09
Località: roma/vibo valentia
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde

Re: Python send email

Messaggioda Paoletta » lun apr 04, 2011 9: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...
Avatar utente
Paoletta
Staff
Staff
 
Messaggi: 3903
Iscritto il: dom apr 24, 2005 23:00
Località: Varese
Slackware: 13.1
Desktop: fluxbox

Re: Python send email

Messaggioda odiusseus » lun apr 04, 2011 11: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!
odiusseus
Linux 2.4
Linux 2.4
 
Messaggi: 352
Iscritto il: sab giu 30, 2007 13:09
Località: roma/vibo valentia
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde

Re: Python send email

Messaggioda conraid » lun apr 04, 2011 12: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
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: Python send email

Messaggioda Paoletta » lun apr 04, 2011 13: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
Avatar utente
Paoletta
Staff
Staff
 
Messaggi: 3903
Iscritto il: dom apr 24, 2005 23:00
Località: Varese
Slackware: 13.1
Desktop: fluxbox

Re: Python send email

Messaggioda odiusseus » lun apr 04, 2011 13: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/
odiusseus
Linux 2.4
Linux 2.4
 
Messaggi: 352
Iscritto il: sab giu 30, 2007 13:09
Località: roma/vibo valentia
Slackware: 13.0
Kernel: 2.6.32.2
Desktop: kde

Re: Python send email

Messaggioda Paoletta » lun apr 04, 2011 14: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:
Avatar utente
Paoletta
Staff
Staff
 
Messaggi: 3903
Iscritto il: dom apr 24, 2005 23:00
Località: Varese
Slackware: 13.1
Desktop: fluxbox


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti