inviare email con python [ERA: Programma in SH ]
Il ven, mar 21, 2014 at 6:44 , Gian Uberto Lauri sa...@eng.it ha scritto: f...@inventati.org writes: Per l'appunto mi serviva questo esempio... Però la presenza di caratteri non ascii produce un errore. C'è un modo pythonico per evitare il problema? Usare UTF-8? Con python devi usare una stringa particolare subito dopo la riga con lo shebang (#! she sta per shell e bang è un nomgnolo del carattere !). Ecco la stringa: # -*- coding: utf-8 -*- I problemi quando e dove li hai? Probabilmente devi usare un editor un po' serio che ti permetta di dire usa la codifica utf-8, ne conosco almeno 2 per Linux, forse 3... No, il problema è diverso. L'encoding l'avevo messo.. Ora non ho più accesso al file, ci riprovo lunedì. Comunque ho fatto una nuova prova prendendo spunto dal primo esempio che c'è qui: http://docs.python.org/3.3/library/email-examples.html Sto usando, come corpo del messaggio, un file di testo ascii (verificato con file), ma ottengo questo errore: $ ./email-test.py Traceback (most recent call last): File ./email-test.py, line 14, in module msg = MIMEText(fp.read()) File /usr/lib/python3.3/email/mime/text.py, line 34, in __init__ _text.encode('us-ascii') AttributeError: 'bytes' object has no attribute 'encode' La riga 14 del mio file è: msg = MIMEText(fp.read()) Ah, trovato l'errore: non devo aprire il file come byte ma come stringa (?). Quindi riscrivo questa riga: fp = open(textfile, 'rb') così: fp = open(textfile, 'r') ora funziona. Perché nella documentazione hanno messo 'rb'?
Re: Programma in SH
Abbiate pazienza se rispondo solo ora. Ringrazio tutti per le risposte, proverò a mettere /bin/sh e vi farò sapere. Ho letto che siete rimasti perplessi dal programma e vi capisco, io è da poco che programmo, tanto più con gli script quindi potrebbe essere pensato maluccio il programma. In sostanza io ho un programma io ho realizzato un programma in Python che gestisce un po' di dati/informazioni. Nel caso il mio programma in Python rileva dei dati anomali deve potermi avvisare via e-mail. Per poter far comunicare il mio file.sh con il mio file.py l'unica soluzione easy che ho trovato è quella di usare dei file .txt. Quindi ho creato un loop infinito (devo essere sempre pronto a mandare e-mail) e due casistiche: un e-mail con allegato e una senza. Quindi in sostanza questo script legge il file settings, a seconda del codice che trova prosegue il loop senza fare nulla oppure si prepara a mandare un e-mail con allegato o senza. (io per ora sto facendo le prove senza allegato) Poi visto che non devono essere e-mail statiche io vado ogni volta a leggere il contenuto del messaggio e anche il mittente, così che se volessi cambiare e-mail mi basta modifficare un file.txt e la comodità del file .txt è che può essere letto anche da altri script o altri programmi. Se avete idee migliori ogni consiglio è ben accetto :) Il giorno 20 marzo 2014 16:42, MaX maxlinux2...@gmail.com ha scritto: sarebbe interessante vedere cosa contengono i files txt usati dallo script. ma una cosa dove viene dicharata la variabile $allegato ? non vorrei che sendmail non trovando l'allegato, si blocchi e quindi lo script da errore. max Il 20/03/14, emmanuel seguraemi2f...@gmail.com ha scritto: infatti, io quando lo ho visto, ho pensato, ma sono io che vedo male, ma un ciclo senza variabile che vengo incrementate o decrementate um Il giorno 20 marzo 2014 15:53, Alessandro T. taglia...@yahoo.it ha scritto: Ciao, sono un po' perplesso sul programma: On 20/03/2014 10:40, Emilio Peruzzi wrote: [...] #!/bin/sh while [ 0 -le 5 ] equivale a while [ true ] , quindi ciclo infinito se non c'è un break all'interno. [...] if [ ${settings} = 1 ] [...] elif [ ${settings} = 2 ];then Cosa vorresti facesse con queste istruzioni? [...] Il mio problema è che ogni tanto ciocca senza apparente motivo. Io mi chiedo come faccia a funzionare, o meglio, cosa dovrebbe fare; ammesso funzioni. Ovvero se io creo due file .sh e ci incollo lo stesso identico codice, uno dei due .sh me lo esegue senza nessun problema, l'altro non parte e mi dici che si aspetta il then. Ora dopo qualche riavvio di Debian anche il primo file.sh mi da un errore, mi dice che si aspetta il mittente, che c'è, infatti fino a due ore prima funzionava. Eh sì: questa è la famosa aleatorietà informatica :-D Ciao -- Alessandro T. R: Perché leggiamo dall'alto al basso e da sinistra a destra. D: Perché dovrei iniziare la risposta all'e-mail dopo il testo citato? -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532b00ec.9020...@yahoo.it -- esta es mi vida e me la vivo hasta que dios quiera -- ciao, MaX -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/caeyavmuzyj9owshjsrhqxte62-6uvnfpp9aycpxbbmok7w0...@mail.gmail.com -- Emilio Peruzzi
Re: Programma in SH
Emilio Peruzzi writes: Se avete idee migliori ogni consiglio è ben accetto :) Pyton dovrebbe avere API per la posta. A naso ci guadagni in velocità e occupazione di memoria. Ed in ogni caso invece di mettere i parametri in un file puoi metterli sulla command line (sopratutto se sono solo dei flag per fare questo o quello). Da shell i parametri passati sulla command line sono $1, $2, $3... -- Gian Friends will be friends right to the end! -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/21292.3739.945194.842...@mail.eng.it
Re: Programma in SH
provalo cosí: --- #!/bin/bash while [ 0 = 0 ]; do settings=`cat settings.txt` emailUser=xx...@gmail.com smtp=smtp.gmail.com emailMit=`cat mittente.txt` messagge=`cat messaggio.txt` object=Ariosto allegato=/tmp/allegato.txt # qui metti il path per l'eventuale allegato if [ $settings = 1 ]; then sendemail -f $emailUser -t $emailMit -u $object -s smtp.gmail.com -o TLS=yes [...] sleep 5 elif [ $settings = 2 ];then sendemail -f $emailUser -t $emailMit -u $object -a $allegato -s smtp.gmail.com -o TLS=yes [...] sleep 5 else echo tutto bene sleep 5 fi sleep 1 done - Il 20/03/14, Emilio Peruzziemilio.peruzzi...@gmail.com ha scritto: Buongiorno a tutti, Io ho scritto un piccolo programmino in SH per poter inviare e-mail in automatico da Debian con l'utilizzo di sendemail. Ora vi posto per comodità il programma (è molto breve) #!/bin/sh while [ 0 -le 5 ] do settings=`cat settings.txt` emailUser=xx...@gmail.com smtp=smtp.gmail.com if [ ${settings} = 1 ] then emailMit=`cat mittente.txt` messagge=`cat messaggio.txt` object=Ariosto sendemail -f $emailUser -t $emailMit -u $object -s smtp.gmail.com -o TLS=yes [...] sleep 5 elif [ ${settings} = 2 ];then emailMit=`cat mittente.txt` messagge=`cat messaggio.txt` object=Ariosto sendemail -f $emailUser -t $emailMit -u $object -a $allegato -s smtp.gmail.com -o TLS=yes [...] sleep 5 fi sleep 1 done exit 0 Il mio problema è che ogni tanto ciocca senza apparente motivo. Ovvero se io creo due file .sh e ci incollo lo stesso identico codice, uno dei due .sh me lo esegue senza nessun problema, l'altro non parte e mi dici che si aspetta il then. Ora dopo qualche riavvio di Debian anche il primo file.sh mi da un errore, mi dice che si aspetta il mittente, che c'è, infatti fino a due ore prima funzionava. Ora io sapevo che col C capitava che ogni tanto si dovevano mettere delle funzioni particolari per pulire la memoria o qualcosa di simile, altrimenti il GCC mi dava errore senza apparente motivo... Che voi sappiate potrebbe essere questo il problema? Come si può risolvere o eventualmente bypassare questo inconveniente? Vi ringrazio -- Emilio Peruzzi -- ciao, MaX -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/caeyavmvoi+-aqdqi1gadrreurpx9jb3gdhyquv3jvhlm5ae...@mail.gmail.com
Re: Programma in SH
On 21/03/2014 10:49, Emilio Peruzzi wrote: Ho letto che siete rimasti perplessi dal programma e vi capisco, io è da poco che programmo, tanto più con gli script quindi potrebbe essere pensato maluccio il programma. In sostanza io ho un programma io ho realizzato un programma in Python che gestisce un po' di dati/informazioni. Nel caso il mio programma in Python rileva dei dati anomali deve potermi avvisare via e-mail. Per poter far comunicare il mio file.sh con il mio file.py l'unica soluzione easy che ho trovato è quella di usare dei file .txt. Quindi ho creato un loop infinito (devo essere sempre pronto a mandare e-mail) e due casistiche: un e-mail con allegato e una senza. Quindi in sostanza questo script legge il file settings, a seconda del codice che trova prosegue il loop senza fare nulla oppure si prepara a mandare un e-mail con allegato o senza. (io per ora sto facendo le prove senza allegato) Poi visto che non devono essere e-mail statiche io vado ogni volta a leggere il contenuto del messaggio e anche il mittente, così che se volessi cambiare e-mail mi basta modifficare un file.txt e la comodità del file .txt è che può essere letto anche da altri script o altri programmi. Se avete idee migliori ogni consiglio è ben accetto :) Beh, mandare l'email direttamente da Python, per esempio: import smtplib server = smtplib.SMTP(localhost) server.sendmail(f...@initd.org, debian-italian@lists.debian.org, Ciao a tutti, Questo è un semplice semplice mesaggiom di esempio per Emilio federico ) server.quit() federico -- Federico Di Gregorio federico.digrego...@dndg.it Di Nunzio Di Gregorio srl http://dndg.it Io non sono romantica. La candelina sul tavolo mi vede e si spegne. -- sisterconfusion -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532c1095.5080...@dndg.it
Re: Programma in SH
On 21/03/2014 11:12, Federico Di Gregorio wrote: server.sendmail(f...@initd.org, debian-italian@lists.debian.org, Errorino, mi son dimenticato l'oggetto. Il formato giusto è: server.sendmail(MITTENTE, DESTINATARIO, OGGETTO, CORPO) Ciao, federico -- Federico Di Gregorio federico.digrego...@dndg.it Di Nunzio Di Gregorio srl http://dndg.it La felicità è una tazza di cioccolata calda. Sempre. -- Io -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532c169a.5020...@dndg.it
Re: Programma in SH
Allora ringrazio tutti per i consigli, purtroppo il file.py non mi è concesso di modificarlo e quindi mi devo arrangiare... Mi è capitata una cosa strana: ho copiato ed incollato il programma in sh che mi è stato gentilmente postato, mettendo l'e-mail e completando i comandi del sendemail. Provo ad eseguirlo e mi da questo errore: newmail.sh: 20: Syntax error: elif unexpected (expecting then) La cosa strana è che il file newmail.sh era quel file che avevo menzionato all'inizio e che non funzionava, non funzionava perché mi dava esattamente quell'errore, copiato ed incollato il programma su un nuovo file per un certo periodo tutto è filato liscio... Oggi per fare la prova ho aperto newmail.sh cancellato il vecchio programma e appunto incollato quello nuovo che mi è stato postato: errore identico e, a mio avviso, insensato! Cosa ne pensate? Vi ringrazio ancora per la cortesia e la disponibilità Il giorno 21 marzo 2014 11:38, Federico Di Gregorio f...@dndg.it ha scritto: On 21/03/2014 11:12, Federico Di Gregorio wrote: server.sendmail(f...@initd.org, debian-italian@lists.debian.org, Errorino, mi son dimenticato l'oggetto. Il formato giusto è: server.sendmail(MITTENTE, DESTINATARIO, OGGETTO, CORPO) Ciao, federico -- Federico Di Gregorio federico.digrego...@dndg.it Di Nunzio Di Gregorio srl http://dndg.it La felicità è una tazza di cioccolata calda. Sempre. -- Io -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532c169a.5020...@dndg.it -- Emilio Peruzzi
Re: Programma in SH
Il 21/03/2014 10:49, Emilio Peruzzi ha scritto: Abbiate pazienza se rispondo solo ora. Ringrazio tutti per le risposte, proverò a mettere /bin/sh e vi farò sapere. Ho letto che siete rimasti perplessi dal programma e vi capisco, io è da poco che programmo, tanto più con gli script quindi potrebbe essere pensato maluccio il programma. In sostanza io ho un programma io ho realizzato un programma in Python che gestisce un po' di dati/informazioni. Nel caso il mio programma in Python rileva dei dati anomali deve potermi avvisare via e-mail. Io sendemail lo uso con degli script python, e non ha mai fallito; anzi, a costo di scatenare un flame, diro' di piu': uso il python per tutti gli script - al posto dello shell scripting, secondo per orroragine solo al perl :D -- Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law. -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532c5839.8030...@gmail.com
Re: Programma in SH
On 21 marzo 2014 16:02:15 CET, Emilio Peruzzi emilio.peruzzi...@gmail.com wrote: Allora ringrazio tutti per i consigli, purtroppo il file.py non mi è concesso di modificarlo e quindi mi devo arrangiare... Mi è capitata una cosa strana: ho copiato ed incollato il programma in sh che mi è stato gentilmente postato, mettendo l'e-mail e completando i comandi del sendemail. Provo ad eseguirlo e mi da questo errore: newmail.sh: 20: Syntax error: elif unexpected (expecting then) La cosa strana è che il file newmail.sh era quel file che avevo menzionato all'inizio e che non funzionava, non funzionava perché mi dava esattamente quell'errore, copiato ed incollato il programma su un nuovo file per un certo periodo tutto è filato liscio... Oggi per fare la prova ho aperto newmail.sh cancellato il vecchio programma e appunto incollato quello nuovo che mi è stato postato: errore identico e, a mio avviso, insensato! Cosa ne pensate? Vi ringrazio ancora per la cortesia e la disponibilità Il giorno 21 marzo 2014 11:38, Federico Di Gregorio f...@dndg.it ha scritto: On 21/03/2014 11:12, Federico Di Gregorio wrote: server.sendmail(f...@initd.org, debian-italian@lists.debian.org, Errorino, mi son dimenticato l'oggetto. Il formato giusto è: server.sendmail(MITTENTE, DESTINATARIO, OGGETTO, CORPO) Ciao, federico -- Federico Di Gregorio federico.digrego...@dndg.it Di Nunzio Di Gregorio srl http://dndg.it La felicità è una tazza di cioccolata calda. Sempre. -- Io -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532c169a.5020...@dndg.it -- Emilio Peruzzi Sparo.. casini con i codici di fine riga? A vista sembra che sia uguale, ma di fatto non lo è
Re: Programma in SH
Perdonate la mia ignoranza... Cosa sono i codici a fine riga? Il giorno 21 marzo 2014 16:28, Luca De Andreis d...@corep.it ha scritto: On 21 marzo 2014 16:02:15 CET, Emilio Peruzzi emilio.peruzzi...@gmail.com wrote: Allora ringrazio tutti per i consigli, purtroppo il file.py non mi è concesso di modificarlo e quindi mi devo arrangiare... Mi è capitata una cosa strana: ho copiato ed incollato il programma in sh che mi è stato gentilmente postato, mettendo l'e-mail e completando i comandi del sendemail. Provo ad eseguirlo e mi da questo errore: newmail.sh: 20: Syntax error: elif unexpected (expecting then) La cosa strana è che il file newmail.sh era quel file che avevo menzionato all'inizio e che non funzionava, non funzionava perché mi dava esattamente quell'errore, copiato ed incollato il programma su un nuovo file per un certo periodo tutto è filato liscio... Oggi per fare la prova ho aperto newmail.sh cancellato il vecchio programma e appunto incollato quello nuovo che mi è stato postato: errore identico e, a mio avviso, insensato! Cosa ne pensate? Vi ringrazio ancora per la cortesia e la disponibilità Il giorno 21 marzo 2014 11:38, Federico Di Gregorio f...@dndg.it ha scritto: On 21/03/2014 11:12, Federico Di Gregorio wrote: server.sendmail(f...@initd.org, debian-italian@lists.debian.org, Errorino, mi son dimenticato l'oggetto. Il formato giusto è: server.sendmail(MITTENTE, DESTINATARIO, OGGETTO, CORPO) Ciao, federico -- Federico Di Gregorio federico.digrego...@dndg.it Di Nunzio Di Gregorio srl http://dndg.it La felicità è una tazza di cioccolata calda. Sempre. -- Io -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532c169a.5020...@dndg.it Sparo.. casini con i codici di fine riga? A vista sembra che sia uguale, ma di fatto non lo è -- Emilio Peruzzi
Re: Programma in SH
onetmt writes: al posto dello shell scripting, secondo per orroragine solo al perl :D La shell usata male può effettivamente essere read only, ma è molto meno prolissa di Python. Dipende da cosa devi fare. Per uno script breve o comunque lineare, la shell permette di risparmiare tempo e memoria rispetto a python. Se la cosa comincia ad avere la complessità di un programma, allora meglio usare qualcosa di più ordinato. Poi il figo di Unix è che te lo cuci addosso in modo che ti calzi a pennello e non sei costretto a indossare scarpe che tizio trova strafighe ma che per te sono una tortura seconda solo alla vergine di Norimberga. -- /\ ___Ubuntu: ancient /___/\_|_|\_|__|___Gian Uberto Lauri_ African word //--\| | \| | Integralista GNUslamicomeaning I can \/ coltivatore diretto di software not install già sistemista a tempo (altrui) perso...Debian Warning: gnome-config-daemon considered more dangerous than GOTO -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/21292.23495.458146.810...@mail.eng.it
Re: Programma in SH
controlla se nel copiarlo non ci siano stati errori di a capo, codici invisibili non utf8 e se la sintassi è corretta. Leggi anche qui: http://stackoverflow.com/questions/16034749/bash-script-if-elif-else-statement-issues ciao MaX Il 21/03/14, Emilio Peruzziemilio.peruzzi...@gmail.com ha scritto: Allora ringrazio tutti per i consigli, purtroppo il file.py non mi è concesso di modificarlo e quindi mi devo arrangiare... Mi è capitata una cosa strana: ho copiato ed incollato il programma in sh che mi è stato gentilmente postato, mettendo l'e-mail e completando i comandi del sendemail. Provo ad eseguirlo e mi da questo errore: newmail.sh: 20: Syntax error: elif unexpected (expecting then) La cosa strana è che il file newmail.sh era quel file che avevo menzionato all'inizio e che non funzionava, non funzionava perché mi dava esattamente quell'errore, copiato ed incollato il programma su un nuovo file per un certo periodo tutto è filato liscio... Oggi per fare la prova ho aperto newmail.sh cancellato il vecchio programma e appunto incollato quello nuovo che mi è stato postato: errore identico e, a mio avviso, insensato! Cosa ne pensate? Vi ringrazio ancora per la cortesia e la disponibilità Il giorno 21 marzo 2014 11:38, Federico Di Gregorio f...@dndg.it ha scritto: On 21/03/2014 11:12, Federico Di Gregorio wrote: server.sendmail(f...@initd.org, debian-italian@lists.debian.org, Errorino, mi son dimenticato l'oggetto. Il formato giusto è: server.sendmail(MITTENTE, DESTINATARIO, OGGETTO, CORPO) Ciao, federico -- Federico Di Gregorio federico.digrego...@dndg.it Di Nunzio Di Gregorio srl http://dndg.it La felicità è una tazza di cioccolata calda. Sempre. -- Io -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532c169a.5020...@dndg.it -- Emilio Peruzzi -- ciao, MaX -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/CAEyAVmsJAJAryKQ_ffER0NKnmQmFX2vch=0o3et6mh8kjnq...@mail.gmail.com
Re: Programma in SH
Il 21/03/14, onetmtone...@gmail.com ha scritto: ... Io sendemail lo uso con degli script python, e non ha mai fallito; anzi, a costo di scatenare un flame, diro' di piu': uso il python per tutti gli script - al posto dello shell scripting, secondo per orroragine solo al perl :D e io che pensavo che python fosse una ciofeca :) no... scherzo ovviamente. ma anche bash ha i suoi vantaggi, del resto se non fosse cosí perché sviluppare tanti linguaggi quanco con il C o meglio ancora l' assembler possiamo fare lo stesso? Non la pensiamo tutti uguale e spesso si fa quello che si puó e non quello che ci piacerebbe fare. In questo caso vista la brevità dello script sono propenso anche io ad usare bash. Poi che python possa fare lo stesso, nessuno le mette in dubbio, ma del resto utimamente si vedono programmi grafici scritti in bash con zenity, per cui lo sconfinamento settoriale informatico è endenico :D -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/CAEyAVmvCpB3R0XCnOcEhMtZPktCT-9S3A+guskOvoMDHebhS=a...@mail.gmail.com
Re: Programma in SH
Il 21.03.2014 10:12 Federico Di Gregorio ha scritto: On 21/03/2014 10:49, Emilio Peruzzi wrote: Se avete idee migliori ogni consiglio è ben accetto :) Beh, mandare l'email direttamente da Python, per esempio: import smtplib server = smtplib.SMTP(localhost) server.sendmail(f...@initd.org, debian-italian@lists.debian.org, Ciao a tutti, Questo è un semplice semplice mesaggiom di esempio per Emilio federico ) server.quit() Per l'appunto mi serviva questo esempio... Però la presenza di caratteri non ascii produce un errore. C'è un modo pythonico per evitare il problema? Ho provato a fare delle ricerche ma ho trovato soluzioni molto complicate a un problema apparentemente semplice. Non conosco python (a parte pochi tentativi) e non sono un programmatore. Sto usando python 3.3 e questo è l'errore: File /usr/lib/python3.3/smtplib.py, line 757, in sendmail (code, resp) = self.mail(from_addr, esmtp_opts) File /usr/lib/python3.3/smtplib.py, line 489, in mail self.putcmd(mail, FROM:%s%s % (quoteaddr(sender), optionlist)) File /usr/lib/python3.3/smtplib.py, line 348, in putcmd self.send(str) File /usr/lib/python3.3/smtplib.py, line 333, in send s = s.encode(ascii) UnicodeEncodeError: 'ascii' codec can't encode character '\xec' in position 141: ordinal not in range(128) Grazie Federico -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/1a64d2743b9d667ef17f07c43b1e3...@inventati.org
Re: Programma in SH
f...@inventati.org writes: Per l'appunto mi serviva questo esempio... Però la presenza di caratteri non ascii produce un errore. C'è un modo pythonico per evitare il problema? Usare UTF-8? Con python devi usare una stringa particolare subito dopo la riga con lo shebang (#! she sta per shell e bang è un nomgnolo del carattere !). Ecco la stringa: # -*- coding: utf-8 -*- I problemi quando e dove li hai? Probabilmente devi usare un editor un po' serio che ti permetta di dire usa la codifica utf-8, ne conosco almeno 2 per Linux, forse 3... -- /\ ___Ubuntu: ancient /___/\_|_|\_|__|___Gian Uberto Lauri_ African word //--\| | \| | Integralista GNUslamicomeaning I can \/ coltivatore diretto di software not install già sistemista a tempo (altrui) perso...Debian Warning: gnome-config-daemon considered more dangerous than GOTO -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/21292.31381.438370.332...@mail.eng.it
Programma in SH
Buongiorno a tutti, Io ho scritto un piccolo programmino in SH per poter inviare e-mail in automatico da Debian con l'utilizzo di sendemail. Ora vi posto per comodità il programma (è molto breve) #!/bin/sh while [ 0 -le 5 ] do settings=`cat settings.txt` emailUser=xx...@gmail.com smtp=smtp.gmail.com if [ ${settings} = 1 ] then emailMit=`cat mittente.txt` messagge=`cat messaggio.txt` object=Ariosto sendemail -f $emailUser -t $emailMit -u $object -s smtp.gmail.com -o TLS=yes [...] sleep 5 elif [ ${settings} = 2 ];then emailMit=`cat mittente.txt` messagge=`cat messaggio.txt` object=Ariosto sendemail -f $emailUser -t $emailMit -u $object -a $allegato -s smtp.gmail.com -o TLS=yes [...] sleep 5 fi sleep 1 done exit 0 Il mio problema è che ogni tanto ciocca senza apparente motivo. Ovvero se io creo due file .sh e ci incollo lo stesso identico codice, uno dei due .sh me lo esegue senza nessun problema, l'altro non parte e mi dici che si aspetta il then. Ora dopo qualche riavvio di Debian anche il primo file.sh mi da un errore, mi dice che si aspetta il mittente, che c'è, infatti fino a due ore prima funzionava. Ora io sapevo che col C capitava che ogni tanto si dovevano mettere delle funzioni particolari per pulire la memoria o qualcosa di simile, altrimenti il GCC mi dava errore senza apparente motivo... Che voi sappiate potrebbe essere questo il problema? Come si può risolvere o eventualmente bypassare questo inconveniente? Vi ringrazio -- Emilio Peruzzi
Re: Programma in SH
Emilio Peruzzi scrisse in data 20/03/2014 10:40: [...] #!/bin/sh [...] exit 0 Il mio problema è che ogni tanto ciocca senza apparente motivo. Ovvero se io creo due file .sh e ci incollo lo stesso identico codice, uno dei due .sh me lo esegue senza nessun problema, l'altro non parte e mi dici che si aspetta il then. Ora dopo qualche riavvio di Debian anche il primo file.sh mi da un errore, mi dice che si aspetta il mittente, che c'è, infatti fino a due ore prima funzionava. Se lo stesso script si comporta in modo differente un motivo c'è e non può dipendere altro che dalle variabili d'ambiente. Il mio intuito mi dice che dipende dall'interprete. Prova al posto di /bin/sh di mettere direttamente /bin/bash Ciao Piviul -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532acb3f.1050...@riminilug.it
Re: Programma in SH
Ciao, sono un po' perplesso sul programma: On 20/03/2014 10:40, Emilio Peruzzi wrote: [...] #!/bin/sh while [ 0 -le 5 ] equivale a while [ true ] , quindi ciclo infinito se non c'è un break all'interno. [...] if [ ${settings} = 1 ] [...] elif [ ${settings} = 2 ];then Cosa vorresti facesse con queste istruzioni? [...] Il mio problema è che ogni tanto ciocca senza apparente motivo. Io mi chiedo come faccia a funzionare, o meglio, cosa dovrebbe fare; ammesso funzioni. Ovvero se io creo due file .sh e ci incollo lo stesso identico codice, uno dei due .sh me lo esegue senza nessun problema, l'altro non parte e mi dici che si aspetta il then. Ora dopo qualche riavvio di Debian anche il primo file.sh mi da un errore, mi dice che si aspetta il mittente, che c'è, infatti fino a due ore prima funzionava. Eh sì: questa è la famosa aleatorietà informatica :-D Ciao -- Alessandro T. R: Perché leggiamo dall'alto al basso e da sinistra a destra. D: Perché dovrei iniziare la risposta all'e-mail dopo il testo citato? -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532b00ec.9020...@yahoo.it
Re: Programma in SH
infatti, io quando lo ho visto, ho pensato, ma sono io che vedo male, ma un ciclo senza variabile che vengo incrementate o decrementate um Il giorno 20 marzo 2014 15:53, Alessandro T. taglia...@yahoo.it ha scritto: Ciao, sono un po' perplesso sul programma: On 20/03/2014 10:40, Emilio Peruzzi wrote: [...] #!/bin/sh while [ 0 -le 5 ] equivale a while [ true ] , quindi ciclo infinito se non c'è un break all'interno. [...] if [ ${settings} = 1 ] [...] elif [ ${settings} = 2 ];then Cosa vorresti facesse con queste istruzioni? [...] Il mio problema è che ogni tanto ciocca senza apparente motivo. Io mi chiedo come faccia a funzionare, o meglio, cosa dovrebbe fare; ammesso funzioni. Ovvero se io creo due file .sh e ci incollo lo stesso identico codice, uno dei due .sh me lo esegue senza nessun problema, l'altro non parte e mi dici che si aspetta il then. Ora dopo qualche riavvio di Debian anche il primo file.sh mi da un errore, mi dice che si aspetta il mittente, che c'è, infatti fino a due ore prima funzionava. Eh sì: questa è la famosa aleatorietà informatica :-D Ciao -- Alessandro T. R: Perché leggiamo dall'alto al basso e da sinistra a destra. D: Perché dovrei iniziare la risposta all'e-mail dopo il testo citato? -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532b00ec.9020...@yahoo.it -- esta es mi vida e me la vivo hasta que dios quiera
Re: Programma in SH
sarebbe interessante vedere cosa contengono i files txt usati dallo script. ma una cosa dove viene dicharata la variabile $allegato ? non vorrei che sendmail non trovando l'allegato, si blocchi e quindi lo script da errore. max Il 20/03/14, emmanuel seguraemi2f...@gmail.com ha scritto: infatti, io quando lo ho visto, ho pensato, ma sono io che vedo male, ma un ciclo senza variabile che vengo incrementate o decrementate um Il giorno 20 marzo 2014 15:53, Alessandro T. taglia...@yahoo.it ha scritto: Ciao, sono un po' perplesso sul programma: On 20/03/2014 10:40, Emilio Peruzzi wrote: [...] #!/bin/sh while [ 0 -le 5 ] equivale a while [ true ] , quindi ciclo infinito se non c'è un break all'interno. [...] if [ ${settings} = 1 ] [...] elif [ ${settings} = 2 ];then Cosa vorresti facesse con queste istruzioni? [...] Il mio problema è che ogni tanto ciocca senza apparente motivo. Io mi chiedo come faccia a funzionare, o meglio, cosa dovrebbe fare; ammesso funzioni. Ovvero se io creo due file .sh e ci incollo lo stesso identico codice, uno dei due .sh me lo esegue senza nessun problema, l'altro non parte e mi dici che si aspetta il then. Ora dopo qualche riavvio di Debian anche il primo file.sh mi da un errore, mi dice che si aspetta il mittente, che c'è, infatti fino a due ore prima funzionava. Eh sì: questa è la famosa aleatorietà informatica :-D Ciao -- Alessandro T. R: Perché leggiamo dall'alto al basso e da sinistra a destra. D: Perché dovrei iniziare la risposta all'e-mail dopo il testo citato? -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/532b00ec.9020...@yahoo.it -- esta es mi vida e me la vivo hasta que dios quiera -- ciao, MaX -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/caeyavmuzyj9owshjsrhqxte62-6uvnfpp9aycpxbbmok7w0...@mail.gmail.com