miércoles, 23 de mayo de 2012

Configurar Postfix para enviar correo a través de Gmail

Como muchos sabrán, Gmail, Hotmail, y muchos otros servidores, no permiten la recepción de correos enviados desde IP públicas que no está registradas,(las IP dinámicas de todos los usuarios domésticos), por lo que configuraremos nuestro servidor postfix para que se valide en el servidor SMTP de Gmail y lo utilice para entregar nuestro correo.
Necesitamos tener instalados los siguientes paquetes:
postfix-tls 
libsasl2
libsasl2-modules
ca-certificates
Para enviar correo utilizando el servidor SMTP de Gmail la conexión tiene que estar cifrada con TLS, para lo que debemos añadir la Autoridad Certificadora adecuada y autenticada, para lo que utilizaremos un nombre de usuario (dirección de correo) y contraseña del servicio. 
Para configurar el servidor es necesario editar /etc/postfix/main.cf y añadir las líneas siguientes:
relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes
smtp_tls_security_level=encrypt
smtp_tls_loglevel = 1
smtp_sasl_auth_enable = yes
smtp_tls_CAfile = /etc/ssl/certs/Equifax_Secure_CA.pem
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous 

Pero primero haremos una copia de seguridad del archivo.
root@excellondonsrv2:~# cp /etc/postfix/main.cf /etc/postfix/main.cf.backup
root@excellondonsrv2:~# nano /etc/postfix/main.cf
Se le indica que use el smtp de gmail por el puerto 587, usando TSL, con el certificado Equifax_Secure_CA.pem, que es el que actualmente utiliza para la autentificación, y la información de la autentificación se encuentra en /etc/postfix/sasl/passwd Para generar el fichero con la información de autentificación se crea el fichero /etc/postfix/sasl/passwd con el siguiente contenido:
[smtp.gmail.com]:587 unacuenta@gmail.com:unacontraseña.
root@excellondonsrv2:~# nano /etc/postfix/sasl/passwd
Y lo protegemos adecuadamente con:
root@excellondonsrv2:~# chmod 600 /etc/postfix/sasl/passwd

El fichero de configuración hay que transformarlo a un fichero indexado de tipo hash mediante la instrucción:

root@excellondonsrv2:~# postmap /etc/postfix/sasl/passwd

que creará el fichero /etc/postfix/sasl/passwd.db

Es necesario reiniciar postfix.

Para probar si todo ha ido bien:

mail -s "test" cuenta_correo@gmail.com
Para enviarlo pulsar Ctrl+D

El único inconveniente es que el remitente del correo será la cuenta de gmail que hemos usado para la autentificación.

Añadir un remitente nuevo en nuestra cuenta de gmail

Si tenemos configurado nuestro servidor con algún servicio de DNS dinámico, como dyndns, podemos añadir el remitente en nuestra cuenta de Gmail.
Abrimos en el navegador la página de Gmail, vamos a Configuración > Cuentas e importación > Enviar mensaje como y añadimos como nuevo remitente la dirección de correo de nuestro servidor de correo (usuario@mimaquina.dyndns.org). 
Para verificar que somos usuarios legítimos de la misma gmail nos enviará un mensaje con un código de verificación, que nos llegará a nuestra cuenta local. Una vez verificada la cuenta, gmail permitirá que se envíen mensajes con ese remitente y no lo modificará. 


Más información:
http://support.google.com/mail/bin/answer.py?hl=es&ctx=mail&answer=22370

No hay comentarios:

Publicar un comentario