Salve, ogni tanto noi utenti Linux, sentiamo il bisogno di cazzeggiare nei modi più assurdi e improbabili, soprattutto utilizzando il classico terminale. L'altro giorno, mentre mi trovavo in giro per internet mi sono chiesto: “Corbezzoli, ma non sarebbe un'idea stratosferica poter inviare email dal terminale?”. La risposta che ovviamente mi sono dato è stata: “si”.
Iniziarono così le mie indagini per la rete alla ricerca di una qualche risposta e così trovai mutt, un software a riga di comando che permette di inviare email.
Tramite questo programma si possono fare un sacco di cose. È possibile addirittura inviare email con allegati!
Per prima cosa, se siamo su Fedora, dobbiamo lanciare questo comando da terminale per installare mutt e ssmtp:
yum install mutt ssmpt
mentre su Ubuntu:
sudo apt-get install mutt ssmtp
Dopo i necessari comandi di installazione, tutti i vari blog che ho visitato illudevano lo sprovveduto visitatore che tutta la procedura di installazione fosse tutta qui, sfoggiando così i prodigiosi comandi che teoricamente avrebbero permesso di inviare delle ipotetiche email ad ignoti destinatari come se tutto fosse finito qui, con una semplice stringa da appiccicare al terminale. Dico teoricamente perché queste email da terminale non sarebbero arrivate proprio a nessuno, e ribadisco nessuno perché quel dannato mutt si deve configurare prima, dannazione!
Cioè, o ho male interpretato le intenzioni di chi scrive tutorial su mutt che per qualche oscura ragione omettono le essenziali operazione di configurazione oppure è che mutt ed ssmtp, dopo l'installazione, vengono preconfigurati da entità mistiche che conoscono tutti i dettagli della tua email inclusa la password. Ora, le cose sono due: o queste entità spiritiche mi snobbano alla grande e pretendono di farmi configurare le cose a mano, oppure più semplicemente, non esistono. Io propendo per la prima ipotetica ipotesi e dunque vi insegno come configurare mutt per l'invio delle email (no, io non vi insegno un beneamata cippa! sto scrivendo questo tutorial così quando formatterò saprò come riconfigurare mutt), in particolare da un account gmail (ma potete arrangiarvi anche se usate altri gestori). Le semplici operazioni di configurazione di mutt che ora vi illustrerò le ho trovate qui, sul blog di evilsocket:
Per prima cosa editiamo il file /etc/ssmtp/ssmtp.conf per permettere l'invio delle email:
root= Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo.
mailhub=smtp.gmail.com:465
UseTLS=YES
hostname=hostname_del_pc
FromLineOverride=YES
Dopo creiamo il file ~/.muttrc per ricevere le email:
set imap_user = " Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. "
set imap_pass = "vostra_password"
set from = " Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. "
set realname = "vostro_nome"
set sendmail = "/usr/sbin/ssmtp -f vostro_nome -au Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. -ap vostra_password"
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set postponed="+[Gmail]/Drafts"
set header_cache=~/.mutt/cache/headers
set message_cachedir=~/.mutt/cache/bodies
set certificate_file=~/.mutt/certificates
set sort = 'threads'
set sort_aux = 'last-date-received'
set imap_check_subscribed
set move = no
ignore "Authentication-Results:"
ignore "DomainKey-Signature:"
ignore "DKIM-Signature:"
hdr_order Date From To Cc
Adesso, digitando mutt sul terminale potete gestire tranquillamente le vostre email da una simpatica interfaccia testuale. Ma è questo l'obiettivo che volevo raggiungere? No, io volevo inviare email tramite comandi da terminale.
Se vogliamo inviare email semplici, questo è il comando che dobbiamo digitare:
echo "Testo della mia email bla bla bla bla bla bla bla bla bla bla bla bla..." | mutt -s "Oggetto della mia email" Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo.
Se vogliamo invece inviare email con oggetti dobbiamo aggiungere il parametro -a più il nome del nostro file:
echo "Testo della mia email bla bla bla bla bla bla bla bla bla bla bla bla..." | mutt -s "Oggetto della mia email" Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. -a /home/user/immagine.jpg
In fine, se la nostra email è chilometrica possiamo scriverla su un file di testo ed inviare il testo contenuto in esso come corpo della mail:
mutt -s "Oggetto della mia email" Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. < /home/user/testo.txt
Dilettatevi!