Spedire email direttamente dalla shell testuale può risultare estremamente comodo per testare "al volo" le funzionalità del server Linux oppure per mandarsi log, informazioni diagnostiche o avvisi in tempo reale. In questa guida ho raccolto alcuni esempi estremamente pratici del comando "mail"

med

I passaggi sono stati convalidati con una nuova installazione di CentOS 7, ma dovrebbero funzionare anche con qualsiasi altra distribuzione Linux.

Prima di cominciare..

Prima di iniziare, assicuratevi che l'interfaccia di rete sia abilitata e la macchina possa accedere ad Internet. Per impostazione predefinita, infatti, così non è.

Sinceratevi poi che il pacchetto mailx sia installato: per farlo, impartite mail -V: se la risposta del sistema è -bash: mail: command not found, dovete completare il setup mediante yum install mailx -y prima di proseguire

med

Semplice invio interattivo

Il modo più semplice di inviare una email da linea di comando è tramite il comando:

mail destinatario@dominio.com

Il sistema chiederà di specificare l'oggetto, quindi potremo digitare il corpo dell'email. A composizione ultimata, la combinazione Ctrl+D spedisce il messaggio e chiude l'editor.

Il ricevente vedrà ricapitarsi una missiva il cui mittente è nel formato nomeutente@dominio.com, ma non contate sul fatto che sia proprio il "vostro" indirizzo abituale

med

Inviare a più destinatari

Per mandare lo stesso messaggio a più destinatari (gli indirizzi saranno visibili a tutti i riceventi), basta specificarli uno dopo l'altro:

mail destinatario@dominio.com destinatario2@dominio2.com destinatario3@dominio3.com

med

Specificare l'oggetto nel comando

Per saltare un passaggio interattivo, è possibile indicare l'oggetto immediatamente:

mail -s "Questo è l'oggetto della mia mail" destinatario@dominio.com

med

Specificare il corpo della mail nel comando

Se interpreto correttamente la documentazione ufficiale, non è previsto che si possa inserire il corpo della mail direttamente come parametro. Per aggirare il problema, possiamo usare la concatenazione (perché funzioni è obbligatorio inserire anche l'oggetto con il parametro -s, come mostrato nell'esempio precedente):

echo "Questo testo viene inserito come corpo" | mail -s "Questo è l'oggetto della mia mail" destinatario@dominio.com

med

Indicare un indirizzo a piacere come mittente

Se volete indicare espressamente l'indirizzo dal quale proviene il messaggio (sarà lo stesso utilizzato automaticamente in caso il destinatario provasse a rispondervi), usate questo formato:

mail -S from=mittente@miodominio.com destinatario@suodominio.com

med

Allegare un file

Per allegare il documento salvato in /home/zane/miofile.txt all'email, usate quanto segue:

mail -a /home/zane/miofile.txt destinatario@dominio.com

med