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 spieghiamo tutti gli step necessari per installare e configurare il demone Postfix sul tuo server Ubuntu 20.04 per poter gestire l’invio della posta attraverso il protocollo SMTP.
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
Durante l’installazione ti verrà richiesto di indicare la tipologia di server Postfix da configurare:

Utilizza il tasto TAB per muoverti sul pulsante “Ok” e premi INVIO per confermare.

Sempre attraverso il tasto TAB seleziona la configurazione “Internet Site” e conferma attraverso il tasto “Ok”.

Nell’ultima schermata devi inserire il dominio utilizzato del server di posta per completare la configurazione.
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:
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 bsd-mailx
Una volta completato possiamo eseguire il comando:
N.B. Sostituisci chiaramente [INDIRIZZO_EMAIL] con l'indirizzo email sul quale vuoi ricevere il messaggio di prova. Ricordarti di sostituire anche domain.com con il tuo dominio precedentemente impostato.
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 [email protected] -s "OGETTO TEST" [INDIRIZZO_EMAIL]
Corpo messaggio
.
EOT
#
Entro pochi minuti dovresti ricevere l’email composta sopra all’indirizzo inserito.
Se hai ricevuto correttamente l'email, vorrà dire allora che avrai configurato correttamente PostFix sul tuo server Linux Ubuntu 20.04.