Linux - Come inviare E-Mail con sSMTP (con configurazioni-tipo per GMail, Aruba e Yahoo)

Linux - Come inviare E-Mail con sSMTP (con configurazioni-tipo per GMail, Aruba e Yahoo)

Se siete capitati su questo articolo vuol dire che avete bisogno di inviare e-mail dal vostro server Linux e state cercando un'alternativa più semplice da configurare rispetto ai classici server di posta veri e propri Sendmail e Postfix. Si tratta di un'esigenza piuttosto comune, tipica di chi amministra siti e servizi in PHP e ha quindi bisogno di poter impostare il valore della proprietà sendmail_path  nel file php.ini.

L'alternativa in questione si chiama sSMTP ed è un MTA (Mail Transfer Agent) minimale che può essere utilizzato per inviare la posta in uscita dal proprio sistema Linux verso un qualsiasi mail hub. Vediamo come fare per installarlo e utilizzarlo nel modo corretto con i principali servizi SMTP di invio mail utilizzati in Italia, ovvero GMail e Aruba. I passaggi indicati sono validi per una distribuzione RedHat / CentOS7 / Fedora, ma possono essere utilizzati su qualsiasi altra distribuzione Linux senza alcun problema.

Installazione

La prima cosa da fare è installare il pacchetto ssmtp sul proprio server, eseguendo il seguente comando nel terminale (a seconda del package installer utilizzato dalla vostra versione):

RedHat, CentOS7, Fedora et al.

Nel caso in cui si riceva un errore del tipo "Package ssmtp is not available", sarà necessario installare EPEL con la seguente istruzione, sempre da terminale:

Una volta fatto, sarà possibile installare ssmtp con l'istruzione di cui sopra.

Ubuntu, Debian et al.

Configurazione

Una volta installato, sSMTP creerà i suoi file di configurazione predefiniti nella cartella /etc/ssmtp/ :

Il primo file, da configurare obbligatoriamente, dovrà contenere le impostazioni di collegamento al server SMTP di destinazione: il secondo file, opzionale, consente di definire dei veri e propri alias per gli utenti locali del sistema, che - se impostati - andranno a sostituire i parametri relativi al server SMTP indicati nel primo file.

Entrambi i file sono ben commentati e molto semplici da configurare: nei paragrafi successivi presentiamo alcuni esempi relativi alle configurazioni più comuni per l'utilizzo di sSMTP con i provider italiani più noti e diffusi.

GMail

Ecco un esempio di configurazione del file /etc/ssmtp/ssmtp.conf  per utilizzare sSMTP con l'account GMail [email protected]:

Nel caso in cui vogliate compilare anche il file /etc/ssmtp/revaliases , ecco una configurazione di esempio valida per l'utente locale root:

Aruba

Ecco come configurare il file /etc/ssmtp/ssmtp.conf  con l'account Aruba di esempio [email protected] per le soluzioni SSL e non-SSL offerte da Aruba:

SSL (porta 465)

NON-SSL (porta 25)

Nel caso in cui vogliate compilare anche il file /etc/ssmtp/revaliases , ecco le due alternative SSL e non-SSL per l'utente locale root:

Yahoo.it

File /etc/ssmtp/ssmtp.conf :

File /etc/ssmtp/revaliases :

Test di funzionamento

Una volta completato il lavoro è opportuno effettuare un rapido test di funzionamento. Il modo più semplice per assicurarsi che tutto funzioni è eseguire il comando ssmtp in una shell del terminale: a tale scopo è possibile utilizzare la modalità interattiva, scrivendo il messaggio immediatamente prima dell'invio, oppure inviando un messaggio preparato in precedenza. Vediamole entrambe:

Modalità interattiva

Subito dopo aver premuto invio, potrete scrivere il vostro messaggio direttamente nel prompt nel seguente modo:

Abbiate cura di rispettare la riga vuota tra il Subject e il corpo del messaggio, altrimenti l'invio non funzionerà! Inoltre, tenete presente che il campo To: è puramente indicativo, in quanto il messaggio sarà inviato unicamente al destinatario specificato nella riga di comando in precedenza.

Invio di file e-mail

In alternativa alla modalità interattiva è possibile preparare il proprio messaggio e-mail all'interno di un file, che dovrà poi essere salvato sul vostro sistema. Il file dovrà avere le medesime caratteristiche di quello creato on-the-fly nella modalità interattiva, ovvero:

Una volta salvato -  per ipotesi nel percorso  /email/msg.txt - sarà possibile inviarlo con il seguente comando terminal:

Utilizzo con PHP

Nel caso in cui vogliate utilizzare sSMTP per inviare le e-mail con la funzione mail()  di PHP, vi basterà aggiungere la seguente riga all'interno del vostro file php.ini:

E il gioco è fatto!

Link utili

Concludiamo questa guida con un paio di link che saranno sicuramente utili per chiunque volesse approfondire ulteriormente l'argomento:

Per il momento è tutto: felice invio!

 

 

 

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

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