Skip to main content

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.

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 gmail@gmail.com:

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 aruba_email@ilmiosito.it 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!

 

 

 

RELATED POSTS

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.

Close
Leggi articolo precedente:
ASP.NET Core: Cloud-ready, Enterprise Web Application Development – Il Libro

Sia pure con un ritardo di alcune settimane per ragioni di distribuzione è finalmente disponibile l'edizione Learning Paths del mio libro...

Chiudi