Cerca

Inviare una mail da Terminale

mail-sentPuò essere molto utile, in script ad avvio automatico ad esempio per valutare il buon operato dello script stesso, far sì che una mail venga inviata al termine dell’esecuzione dello script oppure, per non riempirsi la mailbox di messaggi automatici, solo in caso di errori.

Oggi mi sono trovato con questo problema su una distribuzione Suse Linux Enterprise Server 10.2, SLES per i più intimi, ed ho risolto egregiamente grazie all’utilizzo di [W:Mutt], che non è un semplice comando da shell anche se è possibile utilizzarlo come tale, ma un vero client di posta elettronica testuale a tutti gli effetti, e pure molto potente.

Io ho trovato Mutt preinstallato sulla SLES, ma ho visto che non è difficile installarlo anche su altre distribuzioni, sia dalle repository ufficiali che dai sorgenti. È possibile installarlo anche su Mac OS X, ma non l’ho ancora provato.

Comunque, dando per buono che Mutt sia installato e funzionante, le modalità per inviare una mail da riga di comando sono alla portata di tutti.

Mail semplice:

echo "Questo diventa il testo della mail posso scriverci quello che mi pare" | mutt -s "Oggetto della mail"  indirizzo@destinatario.it

Ovviamente “indirizzo@destinatario.it” deve essere sostituito con l’indirizzo reale del destinatario.

Mail con allegato:

Possiamo osare di più, inviando anche un allegato:

echo "Questo diventa il testo della mail posso scriverci quello che mi pare" | mutt -s "Oggetto della mail" -a /percorso/allegato.zip indirizzo@destinatario.it

Nel mio caso, l’allegato era scomodo e dato che era solo testo volevo che l’allegato, il risultato di un altro comando da terminale salvato su file, diventasse il testo della mail.
Niente di più facile, il comando cambia di poco:

mutt -s "Oggetto della mail" indirizzo@destinatario.it < /percorso/fileditesto.txt

questa ultima variabile comunque non ci vieta di utilizzare comunque l’opzione “-a” per inviare anche un allegato, un file diverso:

mutt -s "Oggetto della mail" -a /percorso/allegato.zip indirizzo@destinatario.it < /percorso/fileditesto.txt

Per scoprire tutte le opzioni di Mutt da riga di comando, e sono parecchie, basta digitare il “solito” man mutt.

Per saperne di più, vi rimando al sito ufficiale di Mutt.

Condividi se ti è piaciuto!

Altri articoli che potrebbero interessarti:

Picture of Roberto Rota

Roberto Rota

Libero professionista, un "artigiano del web", lavoro nella comunicazione in rete da quando esiste Internet. Mi occupo principalmente di assistenza su WordPress e assistenza e consulenza WooCommerce, seguo la realizzazione di progetti web, in particolare siti di e-commerce, visibilità e comunicazione in rete. Il mio curriculum è su Linkedin, e mi puoi trovare anche su Instagram, FaceBook e Twitter.

DAI IL TUO CONTRIBUTO

Se il mio lavoro ti è stato di aiuto, contribuisci alla continuità di questo sito.
Basta una piccola donazione su PayPal, una pizza e una birra alla tua salute!

5 risposte

  1. salve,
    sono arrivato qui perche’ dopo aver installato un linux minimale su un vecchio eeePC
    google si rifiuta di farmi accedere alla posta perche’ trova che il (suo) browser e’ troppo vecchio!! chiaro che una versione piu’ recente non funziona.
    il problema e’ che questi proprio non ne vogliono sapere.
    non parliamo di altri che mettono banner sopra e a fianco per cui occorre
    un display da almeno 15″

  2. Ciao Rodolfo,
    i comandi non si comportano allo stesso modo su tutti i sistemi operativi, non so con quale OS hai provato ma prova a dare un’occhio al manuale in linea con il classico comando

    man mutt

    per vedere le opzioni disponibili e le eventuali diversità di sintassi.

    rob

    PS.. ti ho alterato l’indirizzo mail nel tuo commento, altrimenti ti ritrovi pieno di spam 😉

    1. Allora, ho guardato nelle pagine man e (nonostante il mio pessimo inglese) sono riuscito a risolvere. La sintassi che funziona su ubuntu (nel mio caso karmic koala 9.10), è la seguente:

      echo “testo del messaggio” | mutt -s “oggetto” -a /percorso/del/file — indirizzo@email.com

      In pratica bisognava solo aggiungere i due trattini (–) prima dell’indirizzo email del destinatario. Attenzione, i due trattini devono essere separati dall’indirizzo email.

      Trovo molto pratico questo metodo per inviare mail velocemente dal terminale, mi sono fatto anche un comodo script in python per non dover scrivere tutte le volte il comando, inoltre mutt è un client di posta elettronica ricco di funzionalità (assolutamente da provare!).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.