Inoltro di posta ad un server esterno (SMARTHOST) con autenticazione
Può essere necessario che un mail server non possa inviare direttamente email ad altri mail server (direct MX), ad esempio per problemi di firewall, oppure perchè collegato ad un ip dinamico / blacklistato, e quindi sia necessario che inoltri tutta la mail in uscita ad un altro mail server, che viene denominato SMARTHOST.
Molto spesso questo smarthost richiede anche che l'invio di posta sia soggetto ad autenticazione smtp.
Prerequisiti
L'utilizzo di uno smarthost non ha prerequisiti.
Per utilizzare l'autenticazione smtp, è necessario appoggiarsi a SASL. Installare quindi i pacchetti necessari come per una autenticazione smtp server:
sudo apt-get install sasl2-bin libsasl2-modules /etc/init.d/saslauthd start
Definizione dello SMARTHOST
vi /etc/postfix/main.cf
... relayhost = smtp.libero.it ...
In questo modo postfix inoltrerà tutta la posta esterna al server smtp indicato.
Autenticazione SMTP
Per fare in modo che postfix si autentichi sullo smart host è necessario modificare la configurazione di postfix e creare un elenco password.
Abilitazione della Server SMTP AUTH
Bisogna specificare in main.cf che le password per l'autenticazione su smarthost sono nel file /etc/postfix/smtp_sasl_password_maps
vi /etc/postfix/main.cf
... smtp_sasl_auth_enable = yes smtp_sasl_mechanism_filter = plain, login smtp_sasl_password_maps = hash:/etc/postfix/smtp_sasl_password_maps smtp_sasl_security_options = ...
(Verificato per Ubuntu Dapper)
Creazione elenco password per SMTP AUTH
Si crea il file contenete:
nome.smarthost username:password
Quindi:
vi /etc/postfix/smtp_sasl_password_maps
smtp.libero.it rvmgroup@libero.it:rvmsrl
Compilazione Password map
Dato che la lista deve essere letta in formato hash, va compilata:
postmap /etc/postfix/smtp_sasl_password_maps
Mettendo in debug smtpd, so noterà che i messaggi inviati allo smarthost sono preceduti da autenticazione.