Utilizziamo Postfix come relay server per inviare le nostre email con Mandrill.
Ho provato il servizio da circa 8 mesi, trovandomi molto bene. Si riesce a gestire la coda della posta tramite la comoda app del telefono oppure tramite il loro sito web http://mandrilapp.com
Riporto di seguito il documento ufficiale preso dal loro sito per configurare il nostro server Postfix affinchè usi Mandrill come relay server.
Installazione
Prima di tutto è necessario installare i seguenti pacchetti:
- libsasl2
- libsasl2-modules
- postfix-tls
# apt-get install libsasl2-2 libsasl2-modules mailutils ca-certificates
Configurazione
La configurazione è molto semplice e consiste nel modificare il file /etc/postfix/main.cf
aggiungendo le seguenti righe:
# Relay su mio ISP relayhost = [mail.provider.it] smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_auth_enable = yes smtp_sasl_security_options = # se non inserite opzioni commentare all'inizio # Relay su GMail - In alternativa al precedente #relayhost = [smtp.gmail.com]:587 #smtp_sasl_auth_enable = yes #smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd #smtp_sasl_security_options = noanonymous #smtp_tls_CAfile = /etc/postfix/cacert.pem #smtp_use_tls = yes
Le opzioni disponibili sono :
noanonymous Don't use mechanisms that permit anonymous authentication. noplaintext Don't use mechanisms that transmit unencrypted username and password information. nodictionary Don't use mechanisms that are vulnerable to dictionary attacks. forward_secrecy Require forward secrecy between sessions (breaking one session does not break earlier sessions). mutual_auth Use only mechanisms that authenticate both the client and the server to each other.
Creare il file /etc/postfix/sasl_passwd
con un contenuto simile a questo:
[mail.provider.it] username:password # In caso di Gmail [smtp.gmail.com]:587 USERNAME@gmail.com:PASSWORD
dove mail.provider.it è lo stesso indicato prima e username e password vanno sostituite con i propri dati di accesso.
Impostare i giusti permessi
# chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwd
eseguire poi:
# postmap hash:/etc/postfix/sasl_passwd
Decommentare la riga:
-o smtpd_sasl_auth_enable=yes
nel file /etc/postfix/master.cf .
Validiamo il certificato:
# cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | tee -a /etc/postfix/cacert.pem
L’unica cosa che resta da fare è riavviare Postfix:
# /etc/init.d/postfix reload
e controllare che funzioni verificando il log /var/log/mail.warn.
Relay su Server SMTP multipli
In alcuni casi può esserci la necessità di smistare le mail in uscita su server SMTP di relay diversi. Ad esempio:
- il server predefinito di relay deve essere smtppredefinito.dominio.it
- l’utente pippo@secondodominio.it deve spedire attraverso smtp.secondodominio.it
- tutti gli utenti del dominio terzodominio.it devono spedire attraverso smtp.terzodominio.it
Postfix permette anche questo.
La configurazione è molto semplice e consiste nel modificare il file /etc/postfix/main.cf
aggiungendo le seguenti righe:
# Imposto autenticazione su SMTP di relay smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_auth_enable = yes smtp_sasl_security_options = # se non inserite opzioni commentare all'inizio # Relay su ISP predefinito relayhost = [smtppredefinito.dominio.it]:submission # Server SMTP di relay alternativi smtp_sender_dependent_authentication = yes sender_dependent_relayhost_maps = hash:/etc/postfix/sender_dependent_relayhost_maps
Quindi creiamo il file di transport con i nostri SMTPdi relay alternativi:
# nano /etc/postfix/sender_dependent_relayhost_maps
e diamogli il contenuto seguente:
# Utente Pippo pippo@secondodominio.it smtp.secondodominio.it # Dominio Terzodominio @terzodominio.it smtp.terzodominio.it
Infine aggiorniamo il file contenente le credenziali di autenticazione verso i server di relay:
# nano /etc/postfix/sasl_passwd
# Relay per utente Pippo pippo@secondodominio.it userpippo:password_pippo # Il relay di default smtppredefinito.dominio.it username:password # Relay per il terzo dominio smtp.terzodominio.it user_terzodominio:password_terzodominio
Ricreiamo il database delle password:
# postmap hash:/etc/postfix/sasl_passwd
Ricreiamo il database dei server di relay:
# postmap hash:/etc/postfix/sender_dependent_relayhost_maps
e riavviamo Postfix:
# /etc/init.d/postfix restart
Fonte ufficiale: http://help.mandrill.com/entries/23060367-Can-I-configure-Postfix-to-send-through-Mandrill