Tutorial > Configurare un mail server SMTP con PostFix e Ubuntu 18.04

Configurare un mail server SMTP con PostFix e Ubuntu 18.04

Pubblicato il: 09 ottobre 2019

Mail Postfix SMTP Ubuntu

Postfix è un applicativo lato server che permette di implementare il protocollo SMTP per gestire l’invio della posta. Rappresenta una fra le soluzioni più veloci sul mercato, e viene apprezzato molto anche per la sua facilità di configurazione e sicurezza.

In questo tutorial ti spiegheremo come installare e configurare il demone Postfix su Ubuntu 18.04.

Per prima cosa dovrai connetterti al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.

Installazione di Postfix

Dopo esserti connesso al server tramite SSH, puoi procedere all’installazione di Postfix lanciando il seguente comando:

$ sudo apt install postfix

Una volta completato, Postfix dovrebbe essere correttamente installato sul sistema. 

Tutti i file di configurazione di Postfix sono presenti nella cartella /etc/postfix/. I due file principali sono main.cf e master.cf, anche se per adesso dovrai modificare solo il file main.cf.

Prima di modificare il file di configurazione principale, fai un backup della versione esistente:

$ sudo cp /etc/postfix/main.cf /etc/postfix/main.cf.backup

Procedi quindi aprendo il file appena copiato con un editor di testo:

$ sudo vim /etc/postfix/main.cf

Tutte le righe di configurazione non devono iniziare con caratteri di spazio o tabulazione, mentre eventuali commenti devono iniziare con il carattere #. Alcuni parametri fondamentali da modificare sono elencati di seguito:

# Dns principale del server

myhostname = mail.domain.com

mydomain = domain.com

myorigin = $mydomain

#Parametri per l’interfaccia su cui far ascoltare la porta:

inet_interfaces = all

inet_protocols = ipv4

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

mynetworks = 127.0.0.0/8 168.100.189.0/24

relay_domains =
    
# Directory di appoggio per salvare le caselle di posta

home_mailbox = Maildir/

Nei parametri di configurazione presenti sopra, stai utilizzando il dominio “domain.com” come esempio e devi quindi sostituirlo con quello in tuo possesso. 

Questa configurazione ti permette di utilizzare il server Postfix anche per inviare email dall’esterno (ad esempio attraverso un client di posta) oltre che dall’interno. Tuttavia, nel caso in cui dovessi utilizzare Postfix solo per inviare email da un web service installato sulla stessa macchina, è opportuno variare alcuni parametri per aumentare la sicurezza del servizio:

# Dns principale del server

myhostname = mail.domain.com

mydomain = domain.com

myorigin = $mydomain
    
#Parametri per l’interfaccia su cui far ascoltare la porta:

inet_interfaces = localhost

inet_protocols = ipv4

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

mynetworks = 127.0.0.0/8

relay_domains = $mydestination

# Directory di appoggio per salvare le caselle di posta

home_mailbox = Maildir/

Dopo aver salvato il file puoi procedere ad installare e avviare il servizio per applicare le modifiche appena fatte:

$ sudo systemctl enable postfix

$ sudo systemctl start postfix

Ricordati che qualora dovessi modificare ulteriormente i file di configurazione è necessario ricaricare il servizio:

$ sudo systemctl reload postfix

In caso di problemi ricordati che puoi ispezionare nel dettaglio i parametri di funzionamento e di stato di Postfix sfruttando il suo file di log presente della directory:

$ sudo tail /var/log/mail.log

Configurazione del Firewall

Se sul tuo sistema è presente un firewall allora lo dovrai configurare per abilitare il traffico mail.

Nel caso in cui tu utilizzassi il firewall UFW, avrai a disposizione dei profili preinstallati per Postfix. Vediamo quindi come abilitarli.

Per verificare i profili disponibili installati nel firewall UFW esegui questo comando:

$ sudo ufw app list

Verrà mostrata a schermo una lista simile a questa:

Available applications:

  Dovecot IMAP

  Dovecot POP3

  Dovecot Secure IMAP

  Dovecot Secure POP3

  Nginx Full

  Nginx HTTP

  Nginx HTTPS

  OpenSSH

  Postfix

  Postfix SMTPS

  Postfix Submission

Per consentire il traffico mail dovrai utilizzare i profili Postfix. 

Puoi verificare le informazioni di un profilo in questo modo:

$ sudo ufw app info "Postfix"

Dopo aver verificato i profili sarai pronto ad abilitarli:

$ sudo ufw allow "Postfix"

$ sudo ufw allow "Postfix SMTPS"

$ sudo ufw allow "Postfix Submission"

Testiamo l’installazione

Per verificare la corretta funzionalità del server puoi procedere utilizzando telnet:

$ sudo telnet 127.0.0.1 25

Se postfix funziona correttamente dovrebbe rispondere nel seguente modo:

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 localhost ESMTP Postfix

Per testare l’invio effettivo di email possiamo usare il pacchetto mailx. Per installarlo utilizziamo apt: 

$ sudo apt install mailx

Una volta completato possiamo eseguire il comando:

$ sudo mail -r test@domain.com -s "OGGETTO TEST" [INDIRIZZO_EMAIL]

Mail è ora in attesa del corpo del messaggio: inserisci un qualsiasi testo a tua scelta e, una volta completato, premi [INVIO] [PUNTO] e [INVIO] di nuovo, come segue: 

$ sudo mail -r test@domain.com -s "OGGETTO TEST"  [INDIRIZZO_EMAIL]

Corpo messaggio

.

EOT

#

Entro pochi minuti dovresti ricevere l’email composta sopra all’indirizzo inserito.