Come inviare mail da terminale con google,mutt,ssmtp


A chi non è mai capitato di dover inviare una mail da terminale?

OK,diciamo che nessuno in genere ha voglia di mandare mail in questo modo ma, per i più smanettoni, vi proponiamo una guida che vi insegnerà ad inviare mail con semplici comandi della vostra shell linux attraverso il vostro account Gmail.

Come fare:

(NB: ho creato questa guida usando Ubuntu 10.04)

Per prima cosa prepariamo il nostro sistema:

1) Installiamo i pacchetti necessari.

da terminale:

$ sudo apt-get install mutt ssmtp starttls

e attendiamo l’installazione dei pacchetti.

2) Configuriamo ssmtp.

da terminale:

$ sudo gedit /etc/ssmtp/ssmtp.conf

e rimpiazzate il contenuto con questo (opportunamente modificato con i vostri dati):

root=tua_mail@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=tua_mail@gmail.com
UseSTARTTLS=YES
AuthUser=tua_mail@gmail.com
AuthPass=tua_password
FromLineOverride=YES

poi

$ sudo gedit /etc/ssmtp/revaliases

e aggiungiamo queste stringhe

root:youraccount@gmail.com:smtp.gmail.com:587
mainuser:youraccount@gmail.com:smtp.gmail.com:587

3) Configuriamo mutt.

da terminale, posizionatevi sulla vostra home

$ cd ~
$ gedit .muttrc

e copiate al suo interno questo(sempre opportunamente modificato):

set imap_user = "tua_mail@gmail.com"
set imap_pass = "tua_password"
set from = "tua_mail@gmail.com"
set realname = "tuo_nome"
set sendmail = "/usr/sbin/ssmtp -f tuo_nome -amlogin -au tua_mail@gmail.com -ap tua_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-Resuls:"
ignore "DomainKey-Signature:"
ignore "DKIM-Signature:"
hdr_order Date From To Cc

nota: se si vogliono ricevere informazioni riguardo l’invio della mail, inserite -v appena dopo la stringa set sendmail = “/usr/sbin/ssmtp

(ad esempio set sendmail = “/usr/sbin/ssmtp -v -f tuo_nome -amlogin -au tua_mail@gmail.com -ap tua_password”)

ora tutto dovrebbe essere configurato!
Facciamo una prova!
digitate da terminale

echo "test" | mutt -s "prova mail term" mail@prova.com

dove “test” è il testo della mail e “prova mail term” l’oggetto l’indirizzo alla fine è diverso da quello che avete usato nelle configurazioni.
nota:se avete messo -v nel comando allora dovreste ricevere un testo come questo:

un paio di precisazioni:

– ciò che viene dopo echo deve contenere il testo della mail ma si può anche creare un semplice file e darlo in pasto a mutt in questo modo:

mutt -s "prova mail term" mail@prova.com < file_contenuto_mail

-si possono inviare anche mail con allegato basta aggiungere al comando -a /percorso_al _file

echo "test" | mutt -s "prova mail term" mail@prova.com -a /home/user/immagine.jpg

-Mutt può anche essere usato come client di posta elettronica da terminale, basta digitare mutt sul terminale dare invio e il programma partirà.

vi rimando al sito per maggiori info: http://www.mutt.org/