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
Creazione elenco password per SMTP AUTH
Si crea il file contenete:
nome.smarthost username:password
Quindi:
sudoedit /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:
sudo postmap /etc/postfix/smtp_sasl_password_maps
Mettendo in debug smtpd, so noterà che i messaggi inviati allo smarthost sono preceduti da autenticazione.
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.
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
sudoedit /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)
Abilitazione cifratura TLS
Se si vuole che la sessiona sia crittografata:
sudoedit /etc/postfix/main.cf ... smtp_use_tls = yes smtp_tls_loglevel = 1 ...
Si vedrà dai log:
Aug 18 12:34:44 localhost postfix/pickup[28346]: 40E8DE25C8: uid=1000 from=<diesis> Aug 18 12:34:44 localhost postfix/cleanup[28362]: 40E8DE25C8: message-id=<20060818103444.40E8DE25C8@rvmnot003> Aug 18 12:34:44 localhost postfix/qmgr[28347]: 40E8DE25C8: from=<gabriele.vivinetto@rvmgroup.it>, size=343, nrcpt=1 (queue a ctive) Aug 18 12:34:44 localhost postfix/smtp[28364]: setting up TLS connection to support.rvmgroup.it Aug 18 12:34:44 localhost postfix/smtp[28364]: certificate verification failed for support.rvmgroup.it: num=19:self signed c ertificate in certificate chain Aug 18 12:34:45 localhost postfix/smtp[28364]: Unverified: subject_CN=support.rvmgroup.it, issuer=ca.rvmgroup.it Aug 18 12:34:45 localhost postfix/smtp[28364]: TLS connection established to support.rvmgroup.it: TLSv1 with cipher DHE-RSA- AES256-SHA (256/256 bits) Aug 18 12:34:45 localhost postfix/smtp[28364]: Server certificate could not be verified Aug 18 12:34:45 localhost postfix/smtp[28364]: 40E8DE25C8: to=<gabriele@rvmgroup.it>, relay=support.rvmgroup.it[81.208.113.1 51], delay=1, status=sent (250 Ok: queued as A024D25C02B) Aug 18 12:34:45 localhost postfix/qmgr[28347]: 40E8DE25C8: removed