Ma andiamo con ordine, per fare questo useremo un comando che si chiama “ssmtp”, è semplicemente un programma, che configurato a dovere, ci permette di utilizzare un nostro indirizzo email per mandare delle mail.
Procediamo con l'installazione, esso si trova praticamente in tutti i repository, per Ubuntu ad esempio diamo il seguente comando:
sudo apt-get install ssmtp
Per Arch Linux diamo questo:
sudo pacman -S ssmtp
Insomma l'installazione è davvero banale. Passiamo ora alla configurazione del programma.
CONFIGURAZIONE
Per configurarlo, dobbiamo andare a editare il file “/etc/ssmtp/ssmtp.conf”
Come prima cosa dobbiamo specificare con quale indirizzo email invieremo i nostri messaggi, e ogni indirizzo sarà associato ad un account. Apriamo quindi il file:
sudo nano /etc/ssmtp/ssmtp.conf
vedremo la scritta “root=postmaster”, possiamo togliere “postmaster”, e associare un indirizzo email all'utente “root”, e aggiungere, nella riga successiva, un altro utente con un suo indirizzo email, ad esempio:
daniele=mio_indirizzo@email.it
Ora andiamo a impostare il server smtp che verrà utilizzato per inviare le email. Ad esempio, nel mio caso, ho utilizzato un indirizzo email di Yahoo, quindi ho impostato il suo server smtp in questo modo:
mailhub=[smtp.mail.yahoo.com]:587
Dove 587 è la porta utilizzata dal server.
La mail di Yahoo, come anche Google, utilizzano il TLS e l'autenticazione, quindi per far funzionare tutto correttamente dobbiamo aggiungere anche le seguenti righe:
UseSTARTTLS=YES
UseTLS=YES
AuthMethod=LOGIN
#Per l'autenticazione
AuthUser=mio_indirizzo@email.it
AuthPass=password_email
UseTLS=YES
AuthMethod=LOGIN
#Per l'autenticazione
AuthUser=mio_indirizzo@email.it
AuthPass=password_email
Ora salviamo il file di configurazione chiudendolo con CTRL + X, e modifichiamo il seguente file:
sudo nano /etc/ssmtp/revaliases
In questo file aggiungiamo, per ogni utente, l'indirizzo email che utilizza con il rispettivo server smtp e la sua porta, ad esempio:
daniele:mio_indirizzo@email.it:server_smtp:porta
Anche qui chiudiamo con CTRL + X e salviamo.
La configurazione è quasi terminata, se provassimo ora a inviare una email con il comando “ssmtp”, non funzionerebbe in quanto dobbiamo dare i permessi anche agli altri utenti, oltre che a “root”, per leggere il file.
Cambiamo il gruppo dei file di configurazione in questo modo:
sudo chown root:mail /etc/ssmtp/*
e aggiungiamo l'utente che vogliamo utilizzare per inviare le email al gruppo “mail”, ad esempio:
sudo adduser -a daniele mail
Ora l'utente “daniele” ha i permessi per poter leggere i file, ma siccome nel file di configurazione è possibile che ci sia scritta la password per la mail, ci conviene rendere leggibile il file solamente agli utenti che sono nel gruppo “mail” oltre che all'utente “root”. Quindi diamo questo ultimo comando:
sudo chmod 640 /etc/ssmtp/*
Dove con il numero 6 diamo i permessi di lettura e scrittura all'utente “root”, con 4 diamo i permessi di lettura agli utenti del gruppo “mail” e infine con 0 neghiamo i permessi di lettura e scrittura a tutti gli altri utenti. Per saperne di più sul comando “chmod” potete andare a leggere questo nostro post.
Ora non ci resta che testare il comando.
Scriviamo:
ssmtp email@destinatario.com
Una volta cliccato invio, il programma attenderà che scriviamo le intestazioni della mail e il testo, come nel seguente esempio:
To:email@destinatario.com
From:nostra@mail.com
Subject:Oggetto della mail
Testo della mail
From:nostra@mail.com
Subject:Oggetto della mail
Testo della mail
Una volta terminato di scrivere il testo clicchiamo CTRL + D, e il programma si chiuderà inviando la email.
In alternativa possiamo scrivere dentro un file di testo la mail, con l'intestazione e “darla in pasto” a ssmtp:
ssmtp email@destinatario.com < email_da_inviare.txt
CONCLUSIONI
Ora sapete come mandare le email dal vostro terminale, non vi resta che inserire questo comodissimo programma all'interno dei vostri script ;).
FONTI:
- Immagini Joel Garia;
Nessun commento:
Posta un commento