Licenza
gratuito GNU GPL
Sistema operativo
Linux
Lingua
Italiano
Dimensione
6.5 Mb
Recensito da
Pubblicato il
14 aprile 2017

Posta elettronica

Mail

Un programma per l'invio di messaggi email dal terminale bash

GNU/Linux è nato con la propensione a fondersi con ogni possibile tecnologia di telecomunicazione. Le email sono ovviamente uno dei metodi di comunicazione informatica più utilizzati, ed è ovvio chiedersi se si possano inviare direttamente dal terminale GNU/Linux, senza bisogno di programmi ingombranti o interfacce Web piene di pubblicità. La risposta è sì, grazie a Mail , un semplice programma che consente di scrivere e inviare messaggi di posta elettronica da un terminale. Il vantaggio di questo particolare programma, rispetto alle alternative, è che è molto comodo da utilizzare sia per inviare un'email occasionalmente, sia per inviarne un messaggio in modo automatico.


Prima di cominciare a inviare email, è necessario installare mail . Lo si può fare, su un sistema di tipo Debian con il comando sudo apt-get install mailutils . Potrebbe essere utile anche il pacchetto sendmail-base , se si vuole configurare attentamente il proprio server SMTP, ma per l'uso di mail non è strettamente necessario.


Ora si può provare a inviare un'email per verificare se il sistema funzioni. Basta dare un comando del tipo:

mail -s "Hello World" lamiaemail@gmail.com

Attenzione, però: il comando non è terminato. Ciò che appare è un prompt che permette l'inserimento di un messaggio, semplicemente digitandolo. Terminato il testo del messaggio basta premere Invio e poi Ctrl+D . Se non si desidera specificare un indirizzo per la copia (Cc) basta premere ancora una volta Invio e il messaggio verrà spedito.


Si può controllare subito se il messaggio sia stato effettivamente recapitato. Tuttavia, bisogna considerare che molto probabilmente il messaggio finirà nella casella dello spam: del resto, il mittente non è certamente riconosciuto come "affidabile", visto che l'email proviene dal server SMTP presente su un computer personale. Si tratta comunque di un sistema molto semplice e rapido per inviare messaggi email dal terminale.


È possibile automatizzare anche l'invio di messaggi di posta elettronica in determinate circostanze. Per esempio, si può inviare un'email ogni volta che avviene un login tramite SSH sfruttando il sistema PAM, il meccanismo di autenticazione basato sugli utenti di sistema.
Basta creare un file bash con un comando del tipo sudo nano /root/send-mail-on-ssh-login.sh , inserire al suo interno il codice che si trova su questa pagina e renderlo eseguibile con il comando

sudo chmod +x /root/send-mail-on-ssh-login.sh



Poi si può rendere automatica l'esecuzione dello script modificando il file di configurazione di PAM per sshd:

sudo nano /etc/pam.d/sshd

È necessario inserire alla fine di questo file la riga

session optional pam_exec.so /root/send-mail-on-ssh-login.sh



Nel caso in cui le email non venissero inviate, potrebbe essere necessario configurare manualmente il server SMTP. Per farlo basta dare il comando sudo sendmailconfig e seguire le istruzioni: normalmente basta premere Invio per accettare le impostazioni predefinite, ma si possono anche modificare per adattarle alla situazione del computer e della rete locale in cui è inserito.