Servidor Ubuntu 12.04 Postfix con Relay a Gmail con multicuenta.

Vamos a ver como montar un servidor Postfix con Gmail, la gente normalmente monta los servidores para hacer el envio con 1 cuenta únicamente, mi caso es diferente, tengo varias cuentas de la misma empresa que descargo por imap desde Google, pero el envio me molesta más que sea directo contra Google, no me gusta esperar!! Así que montaremos un servidor Ubuntu para que haga el envio de los correos hacia Google.

apt-get install postfix
vi /etc/postfix/main.cf

Dentro del main.cf debemos tener algo parecido a esto:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

append_dot_mydomain = no

readme_directory = no

smtp_use_tls = yes
smtp_tls_CAfile = /etc/postfix/cacert.pem

smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

myhostname = servidor.dominio.local
myorigin = /etc/mailname
mydestination = servidor.dominio.local, localhost.dominio.local, localhost
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/passwd
relayhost = [smtp.gmail.com]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

sender_canonical_maps = hash:/etc/postfix/sender_canonical

smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_local_domain =
smtpd_sasl_security_options =
broken_sasl_auth_clients = yes
smtp_sasl_auth_enable = yes
smtp_sender_dependent_authentication = yes
smtp_sasl_password_maps = hash:/etc/postfix/passwd
smtp_sasl_security_options = noanonymous
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject

De aquí resaltaremos:

myhostname = servidor.dominio.local «Aquí pondremos el nombre del servidor que hemos especificado en la Instalación»
mydestination = servidor.dominio.local, localhost.dominio.local, localhost «Nombre del servidor también como localhost y nuestro dominio»
sender_canonical_maps = hash:/etc/postfix/sender_canonical «En este fichero guardaremos la relación entre usuarios y dirección»
smtp_sasl_password_maps = hash:/etc/postfix/passwd «En este fichero guardaremos la relación entre la dirección de correo y el password»

Ahora crearemos los dos ficheros que hemos dicho anteriormente, primero el fichero passwd

vi /etc/postfix/passwd

Y dentro escribiremos el texto de esta forma:

usuario1@dominio.com usuario1@dominio.com:PasswordUser1
usuario2@dominio.com usuario2@dominio.com:PasswordUser2
usuario3@dominio.com usuario3@dominio.com:PasswordUser3
usuario4@dominio.com usuario4@dominio.com:PasswordUser4
usuario5@dominio.com usuario5@dominio.com:PasswordUser5
usuario6@dominio.com usuario6@dominio.com:PasswordUser6

Proseguiremos con el fichero sender_canonical

vi /etc/postfix/sender_canonical

Con una estructura de: usuario (espacio) dirección de correo

usuario1 usuario1@dominio.com
usuario2 usuario2@dominio.com
usuario3 usuario3@dominio.com
usuario4 usuario4@dominio.com
usuario5 usuario5@dominio.com
usuario6 usuario6@dominio.com

Una vez hecho esto haremos:

chmod 600 /etc/postfix/passwd
chmod 600 /etc/postfix/sender_canonical
postmap /etc/postfix/passwd
postmap /etc/postfix/sender_canonical

OK, falta poco, instalaremos los certificados

mkdir /etc/postfix/certs/
cd /etc/postfix/certs/
cd certs
openssl dsaparam 1024 -out dsa1024.pem
openssl req -x509 -nodes -days 3650 -newkey dsa:dsa1024.pem -out mycert.pem -keyout mykey.pem
ln -s mycert.pem CAcert.pem
openssl req -x509 -new -days 3650 -key /etc/postfix/certs/mykey.pem -out /etc/postfix/certs/mycert.pem
rm dsa1024.pem

Una vez hecho esto solo nos queda reiniciar el servicio de postfix

/etc/init.d/postfix reload