Guida Sendemail

Da RELug :: Reggio Emilia Linux User Group.

La seguente guida è stata realizzata per poter inviare email tramite il terminale attraverso l'utilizzo del programma sendemail Il sistema su cui è stata implementata è Ubuntu 10.04 LTS x86_64.

Installazione

Sendemail è un client di posta SMTP molto leggero che consente di inviare email dal terminale tramite l'utilizzo di pochi parametri. Innanzitutto è necessario installarlo, perciò bisogna recuperare il pacchetto dai repository :

 $ sudo apt-get install sendemail

E' possibile reperire il programma direttamente dal sito ufficiale : Download

Consiglio

Per chi utilizza gmail o comunque caselle di posta che consentono l'invio di email tramite SMTP con TLS è necessario recuperare anche i seguenti pacchetti :

 $ sudo apt-get install libio-socket-ssl-perl libnet-ssleay-perl perl

Utilizzo

Per inviare un'email è necessario configurare le seguenti opzioni :

  • -f <from@miosito.com> : from, ossia l'email del mittente
  • -t <to@tuosito.com> : to, ossia l'email del destinatario
  • -u <subject> : l'oggetto dell'email
  • -a <file> : file da inviare
  • -s <server.smtp> : il server smtp dell'email
  • -o TLS=yes : per impostare l'utilizzo di TLS
  • -xu <username> : l'username dell'email del mittente
  • -xp <password> : la password dell'email del mittente
  • -m <messaggio> : il corpo dell'email da inviare

Esempio d'utilizzo :

 $ sendemail -f google@gmail.com -t facebook@facebook.com -u "Quali novità?" -s smtp.gmail.com -o TLS=yes -xu google -xp google -m "Buone nuove?"

Con questo esempio è possibile notare che l'utente "google" ha inviato un'email al suo amico "facebook" intitolata "Quali novità?" con su scritto "Buone nuove?"

Consiglio

E' possibile scrivere il corpo dell'email direttamente da standard input, semplicemente omettendo l'opzione "-m"

Script

Il seguente script permette di inviare un'email con sendemail immettendo solamente l'email del destinatario, l'oggetto e la password del proprio account, facilitando così l'utilizzo del programma. E' stato realizzato per email che necessitano di TLS (tipo gmail.com) ed è stato ottimizzato per gmail. E' necessario sostituire "username@gmail.com" col proprio username. Per adattare lo script ad altre caselle di posta, basta sostituire il server smtp col proprio: vedasi la variabile $smtp.

 #!/bin/sh
 
 ###########################################################################
 # Autore 	: Vincenzo Ferrari 					   #
 # A.K.A.	: Wilk							   #
 # Data 	: 22/09/2010 					           #
 # Licenza	: Creative Commons BY - NC - SA Ver. 3.0		   #
 # Email	: wilk3ert@gmail.com				           #
 # Sito Web	: http://www.wilky.it/					   #
 # Info Licenza : http://creativecommons.org/licenses/by-nc-sa/3.0/      #
 ###########################################################################
 
 emailUser="username@gmail.com"
 smtp="smtp.gmail.com"
 oldmode=`stty -g`
 
 echo -n "Inserisci la password della tua email : "
 stty -echo
 read gpass
 stty $oldmode
 echo
 echo
 
 sendemail -f $emailUser -t $1 -u $2 -o tls=yes -s $smtp -xu $emailUser -xp $gpass

Utilizzo : sh mail.sh <email_del_destinatario> <oggetto_email>

Esempio d'uso :

 $ sh mail.sh relug@lists.linux.it Ciao

Dopo aver lanciato il comando verrà richiesta la password e il corpo dell'email: per terminare l'inserimento del testo, premere la combinazione di tasti CTRL + D.