Postfix è il Mail Transfer Agent (MTA) predefinito di Ubuntu. Cerca di essere facile da amministrare e sicuro ed è compatibile con l'MTA sendmail. Questa sezione espone come installare e configurare postfix e anche come configurare un server SMTP utilizzando un collegamento sicuro (per l'invio di email in sicurezza).
Per installare postfix eseguire il seguente comando:
sudo apt-get install postfix
Premere "Invio" quando il processo di installazione pone delle domande, la configurazione verrà effettuata in dettaglio al passo successivo.
Per configurare postfix, eseguire il seguente comando:
sudo dpkg-reconfigure postfix
Viene visualizzata l'interfaccia utente. In ogni schermata selezionare i seguenti valori:
-
Internet Site
-
mail.example.com
-
steve
-
mail.example.com, localhost.localdomain, localhost
-
No
-
127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0/24
-
0
-
+
-
tutti
![]() |
|
Sostituire mail.example.com con il nome host del proprio server mail, 192.168.0/24 con l'intervallo di indirizzi del server mail e steve con il vero nome utente. |
SMTP-AUTH consente a un client di identificarsi attraverso un meccanismo di autenticazione (SASL). TLS (Transport Layer Security) dovrebbe essere usato per cifrare il processo di autenticazione. Una volta autenticato, il server SMTP consentirà ai client di scaricare le email.
La configurazione di Postfix per SMTP-AUTH è molto semplice se svolta utilizzando il pacchetto dovecot-postfix. Questo pacchetto farà in modo di installare Dovecot e configurare Postfix per essere usato come metodo di autenticazione SASL e come MDA (Mail Delivery Agent). Il pacchetto configurerà Dovecot anche per IMAP, IMAPS, POP3 e POP3S.
Per installare il pacchetto, in un terminale digitare:
sudo apt-get install dovecot-postfix
Il server mail dovrebbe essere funzionante, anche se è possibile modificarne ulteriormente la configurazione. Il pacchetto, per esempio, utilizza il certificato e la chiave presi dal pacchetto ssl-cert, ma con un server in produzione dovrebbero essere usati un certificato e una chiave generati appositamente per l'host. Per maggiori informazioni, consultare la sezione chiamata «Certificati».
Ottenuto un certificato personalizzato e una chiave per l'host, modificare le seguenti opzioni nel file /etc/postfix/main.cf
:
smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
Riavviare Postfix:
sudo /etc/init.d/postfix restart
La configurazione di SMTP-AUTH è completa ed è ora necessario provarla.
Per verificare se SMTP-AUTH e TLS funzionano correttamente, eseguire il seguente comando:
telnet mail.example.com 25
Una volta stabilita la connessione al server mail Postfix, digitare:
ehlo mail.example.com
Se, tra tutte le righe, viene visualizzato anche questo, allora funziona correttamente. Digitare quit per uscire.
250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME
Questa sezione descrive alcuni metodi comuni per determinare la cause dei problemi che potrebbero verificarsi.
Il pacchetto postfix di Ubuntu viene installato, in modo predefinito e per ragioni di sicurezza, all'interno di un ambiente chroot.
Per terminate l'operazione chroot, localizzare la seguente riga nel file /etc/postfix/master.cf
:
smtp inet n - - - - smtpd
e modicarlo come segue:
smtp inet n - n - - smtpd
È necessario riavviare Postfix affinché utilizzi la nuova configurazione. In un terminale, digitare:
sudo /etc/init.d/postfix restart
Postfix invia tutti i messaggi di registrazione in /var/log/mail.log
. I messaggi di errore e gli avvisi possono andar persi nell'output della registrazione normale, per questo vengono anche registrati in /var/log/mail.err
e /var/log/mail.warn
rispettivamente.
Per visualizzare in tempo reale i messaggi che vengono registrati, usare il comando tail -f:
tail -f /var/log/mail.err
Il livello di dettaglio delle registrazioni può essere incrementato. Di seguito vengono riportate alcune opzioni di configurazione per aumentare i dettagli di registrazione in alcune delle aree descritte precedentemente.
-
Per aumentare la registrazione delle attività TLS, impostare l'opzione smtpd_tls_loglevel a un valore compreso tra 1 e 4.
sudo postconf -e 'smtpd_tls_loglevel = 4'
-
Se si riscontrano problemi nell'inviare o nel ricevere email da uno specifico dominio, è possibile aggiungere tale dominio al parametro debug_peer_list.
sudo postconf -e 'debug_peer_list = problem.domain'
-
È possibile incrementare il livello di registrazione di qualsiasi demone Postfix modificando il file
/etc/postfix/master.cf
e aggiungendo -v subito dopo la voce. Per esempio, modificare la voce smtp:smtp unix - - - - - smtp -v
![]() |
|
È importante notare che dopo aver apportato una delle modifiche alla registrazione, il processo Postfix deve essere riavviato affinché riconosca la nuova configurazione: sudo /etc/init.d/postfix reload |
-
Per incrementare il livello di informazioni registrate durante la risoluzione di problemi con SASL, è possibile impostare le seguenti opzioni nel file
/etc/dovecot/dovecot.conf
auth_debug=yes auth_debug_passwords=yes
![]() |
|
Proprio come Postfix, modificando la configurazione di Dovecot il processo deve essere ricaricato: sudo /etc/init.d/dovecot reload. |
![]() |
|
Alcune delle opzioni precedenti possono aumentare drasticamente la quantità di informazioni inviata ai file di registrazione. Ricordarsi di ripristinare il livello di registrazione al valore predefinito dopo aver corretto il problema, quindi ricaricare il demone appropriato affinché la configurazione abbia effetto. |
Amministrare un server Postfix può essere un compito molto complicato e potrebbe essere necessario richiedere aiuto alla comunità.
Un ottimo punto per richiedere assistenza riguardo Postfix, e per partecipare nella comunità di Ubuntu Server, è il canale IRC #ubuntu-server su freenode. È anche possibile lasciare un messaggio in uno dei tanti forum.
Per informazioni dettagliate riguardo Postfix, gli sviluppatori Ubuntu consigliano il libro The Book of Postfix.
In fine, il sito web di Postfix dispone di ottima documentazione riguardo le diverse opzioni di configurazione.