Configurando Postfix de Linux (Ubuntu) para usar el SMTP de Gmail

Ayer tuve que onfigurar mi máquina Linux (Ubuntu) para que pudiera mandar emails utilizando el smtp de Google…

Problema:

  Tras varios intentos, siguiendo tutoriales encontrados a través del buscador de google, no consigo que el SMTP de Gmail acepte mis correos. Cada vez que intentaba mandar un mail, postfix generaba este mensaje en /var/log/mail.log:

 

Solución:

  Por lo visto, los tutoriales que estuve consultando estaban un poco anticuados. A base de insistir logré dar con uno que me dio las bases para solucionar el problema. Nótese que el tutorial en cuestión (citado más abajo) tenía una errata, corregida ahora, que me hizo perder otra media hora.     Paso 1: Instalar los siguientes paquetes
apt-get install libsasl2-2 apt-get install libsasl2-modules
  Paso 2: Crear un Certificate Authority Con tu usuario standard, no el root, y desde tu home:
$ cd $ /usr/lib/ssl/misc/CA.pl -newca
Introduce los datos a medida que te los vayan pidiendo. Eso sí, recuérdalos, por que más tarde los vas a necesitar. Al final de este proceso debería aficharse en consola:
Signature ok
  Paso 3: crear un Server Certificate Introduce el comando siguiente, en una sola línea. Asegúrate que los datos coinciden con los que introdujiste en el paso anterior (sustituye las letras en negrita por los valores correspondientes):
$ openssl req -new -nodes -subj ‘/CN=<Common Name>/O=<Organization Name>/C=<Country Name>/ST=<State or Province Name>/L=<Locality Name>/emailAddress=<Email Address>‘ -keyout TUSERVIDOR-key.pem -out TUSERVIDOR-req.pem -days 3650
  Paso 4:  Firma el Certificado
$ openssl ca -out TUSERVIDOR-cert.pem -infiles TUSERVIDOR-req.pem
De nuevo, el proceso debería acabar con un:
Signature ok
Después presiona «y» si te pregunta algo más.   Paso 5:  Copia los certificados al directorio de Postfix Vas a necesitar los privilegios de root
$ su –
Siempre desde la home de tu usuario.
# cd /home/tuusuario/ # cp demoCA/cacert.pem TUSERVIDOR-key.pem TUSERVIDOR-cert.pem /etc/postfix # chmod 644 /etc/postfix/TUSERVIDOR-cert.pem /etc/postfix/cacert.pem # chmod 400 /etc/postfix/TUSERVIDOR-key.pem  
Otro punto a tomar en consideración, no citado en las otros tutoriales que consulté. Desde hace un par de años, Google utiliza el certificado Equifax Secure CA.
# cat /etc/ssl/certs/Equifax_Secure_CA.pem >> /etc/postfix/cacert.pem
En caso de que no tengas instalado el certificado de Equifax, lo puedes descargar en la página oficial de digicert. Para descargar el certificado, usa el botón derecho para guardarlo en tu ordenador, de lo contrario es posible que solo se instale en el navegador. Paso 6: Añade estas líneas al final de /etc/postfix/main.cf
## Configuración TLS # smtp_use_tls = yes smtpd_tls_CAfile = /etc/postfix/cacert.pem smtpd_tls_cert_file = /etc/postfix/TUSERVIDOR-cert.pem smtpd_tls_key_file = /etc/postfix/TUSERVIDOR-key.pem smtpd_tls_received_header = yes smtpd_tls_session_cache_database = btree:/var/run/smtpd_tls_session_cache smtp_tls_loglevel = 2 smtpd_use_tls = yes tls_random_source = dev:/dev/urandom # ## Configuración SASL # smtpd_sasl_auth_enable = no # Necesitamos esto smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd smtpd_sasl_local_domain = $myhostname smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous smtpd_sasl_application_name = smtpd #Asegúrate que estas líneas también están en  in main.cf relayhost = [smtp.gmail.com]:587 transport_maps = hash:/etc/postfix/transport  
Paso 7: Crea el fichero transport con tu editor de texto preferido
# nano /etc/postfix/transport
Contenido de  /etc/postfix/transport:
gmail.com smtp:[smtp.gmail.com]:587  
Paso 8: Crea el password  SASL Obviamente sustituye la direeción de gmail con la tuya y pon tu pasword en el fichero.
# cd /etc/postfix/sasl # nano /etc/postfix/sasl/sasl_passwd
Contenido de sasl_passwd
gmail-smtp.l.google.com tuusuario@gmail.com:password smtp.gmail.com tuusuario@gmail.com:password
  Paso 9: Genera un hash de los ficheros  sasl_passwd y transport
# postmap /etc/postfix/sasl/sasl_passwd && postmap /etc/postfix/transport
  Paso 10: Reinicia el servidor Posfix y comprueba que todo marcha correctamente Introduce el comando siguiente para reiniciar postfix:
# /etc/init.d/postfix restart
Para probar que todo funciona correctamente, puedes utilizar mailutils.
# apt-get install mailutils # echo «probando» | mailx -s «probando» tuusuario@gmail.com
Puedes consultar el fichero log para comprobar posibles errores
# tail -f /var/log/mail.log
 

Fuente

2 comentarios en “Configurando Postfix de Linux (Ubuntu) para usar el SMTP de Gmail”

Responder a Marcos Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *