djdedo Pubblicato: 12 Ottobre 2010 Segnalazione Share Pubblicato: 12 Ottobre 2010 (modificato) Salve ragazzi, mi sto cimentando nell'imparare un pò il python, a detta di molti il più semplice, a detta mia è un pò complicatuccio (forse perchè sono abituato a programmare in java). Vengo subito al dunque. Sto cercando di far collegare la mia applicazioncina ad un server smtp utilizzando uno script che ho messo in una funzione che è il seguente def sendmail(mittente, destinatario, oggetto, messaggio): server = 'indirizzo server' # SMTP server address for dest domain = 'DedoSendMailPython' username = 'utente' password = 'password dell utente' # send mail now = time.time() date = rfc822.formatdate(now) number = whrandom.randint(0, 0xffffff) msgid = '<%X.%X@%s>' % (now, number, domain) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print('connecting to SMTP server...') s.connect((server, 25)) print 'sending headers...' f = s.makefile() assert f.readline().startswith('2') print >>f, 'ehlo', domain f.flush() assert f.readline.startswith('2') print >>f, 'auth login' f.flush() assert f.readline.startswith('2') print >>f, username.encode('base64') f.flush() assert f.readline.startswith('2') print >> f, password.encode('base64') f.flush() assert f.readline().startswith('2') print >>f, 'mail from:', mittente f.flush() assert f.readline().startswith('2') print >>f, 'rcpt to:', destinatario f.flush() assert f.readline().startswith('2') print >>f, 'data' f.flush() assert f.readline().startswith('3') print >>f, 'Message-ID:', msgid print >>f, 'Date:', date print >>f, 'From:', mittente print >>f, 'MIME-Version: 1.0' print >>f, 'To:', destinatario print >>f, 'Subject:', oggetto boundary = '------' + date.encode('hex') print >>f, 'Content-Type: multipart/mixed; boundary="%s"' % boundary print >>f print >>f, 'This is a multi-part message in MIME format.' print >>f, '--' + boundary print >>f, 'Content-Type: text/plain; charset=utf-8' print >>f print >>f, messaggio print >>f, '--' + boundary print >>f print >>f, '.' f.flush() assert f.readline().startswith('2') print >>f, 'quit' f.flush() s.close() il problema è che non da segni di vita, nel senso che appena richiamo la funzione non succede nulla però non sembra neanche piantata l'applicazione. Su emulatore invece da "python: system error (-50)" Come si usano le connessione di rete col python? Non ci sto capendo nulla Modificato 12 Ottobre 2010 da djdedo Link to comment Condividi su altri siti More sharing options...
djdedo Pubblicato: 19 Ottobre 2010 Autore Segnalazione Share Pubblicato: 19 Ottobre 2010 Nessuno mi può dare una dritta? Voi come fate a far collegare ad internet la vostra applicazione? Link to comment Condividi su altri siti More sharing options...
memoryn70 Pubblicato: 19 Ottobre 2010 Segnalazione Share Pubblicato: 19 Ottobre 2010 Nessuno mi può dare una dritta? Voi come fate a far collegare ad internet la vostra applicazione? uhm prima di tutto mi sembra ci siano alcuni errori di sitassi tipo "print >>" devi mettere solo print. Link to comment Condividi su altri siti More sharing options...
djdedo Pubblicato: 19 Ottobre 2010 Autore Segnalazione Share Pubblicato: 19 Ottobre 2010 (modificato) Ti ringrazio intanto per la risposta, proverò a modificare il codice come mi hai suggerito e vedo cosa succede. Non lo avevo modificato perchè su internet lo avevano dato per funzionante EDIT: Ma devo modificare in print variabile, "stringa" oppure in print(variabile, "stringa") ? Modificato 20 Ottobre 2010 da djdedo Link to comment Condividi su altri siti More sharing options...
djdedo Pubblicato: 22 Ottobre 2010 Autore Segnalazione Share Pubblicato: 22 Ottobre 2010 Memoryn70 per cortesia potresti darmi uno spezzone di connessione socket che sicuramente funziona? Non ci sto capendo nulla Link to comment Condividi su altri siti More sharing options...
djdedo Pubblicato: 28 Ottobre 2010 Autore Segnalazione Share Pubblicato: 28 Ottobre 2010 possibile che non ci sia nessuno in grado di aiutarmi? Link to comment Condividi su altri siti More sharing options...
memoryn70 Pubblicato: 6 Novembre 2010 Segnalazione Share Pubblicato: 6 Novembre 2010 possibile che non ci sia nessuno in grado di aiutarmi? Guarda ora ti rispondo al volo...dovresti spulciarti il codice di alcune applicazioni perché anche io con il socket non sono esperto...internet sul cell costa tropo haha Comunque print "Ciao" sarebbe... Link to comment Condividi su altri siti More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Accedi Ora