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

Publicaciones Similares

  • |

    Cómo ampliar el espacio en disco en 1and1

    Escenario Hemos contratado un servidor dedicado en 1and1 (ubuntu 14.04) y al acceder por ssh constatamos que no disponemos de todo el espacio en disco disponible: $ df -hFilesystem Size Used Avail Use% Mounted onudev 3.9G 4.0K 3.9G 1% /devtmpfs 798M 592K 797M 1% /run/dev/md1 4.0G 990M 3.0G 25% /none 4.0K 0 4.0K 0% /sys/fs/cgroupnone 5.0M 0 5.0M 0% /run/locknone 3.9G 0 3.9G 0% /run/shmnone 100M 0 100M 0% /run/user/dev/mapper/vg00-usr 4.8G 1.3G 3.3G 28% /usr/dev/mapper/vg00-var 4.8G 812M 3.8G 18% /var/dev/mapper/vg00-home 4.8G 10M 4.6G 1% /home Objetivo Aumentar el espacio disponible para dar cabida a nuestros recursos. Solución Nota: sólo aplicable a sistemas linux Primer paso Comprobamos el espacio en disco real: ~$ sudo fdisk -lDisk /dev/sda: 240.1 GB, 240057409536 bytes255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 4096 bytesI/O size (minimum/optimal): 4096 bytes / 4096 bytesDisk identifier: 0x24e3fc12   Device Boot      Start         End      Blocks   Id  System/dev/sda1            2048     8390655     4194304   fd  Linux raid autodetect/dev/sda2         8390656    12584959     2097152   82  Linux swap / Solaris/dev/sda3        12584960   468862127   228138584   fd  Linux raid autodetect Segundo…

  • Elemento personalizado en menú lateral de SonataAdmin

    Escenario Necesito añadir un enlace a una página personalizada en el menú lateral de Sonata Admin. En concreto uno que, en vez de dirigir a un listado de entidades, abra una página específica. La entidad en cuestión es Acme\Entity\CashOffice. Antes que nada tenemos que crear un CashOfficeAdmin en el cual usaremos el método configureRoutes para…

  • Instalación certificado raíz Comodo

    Escenario Hemos migrado nuestro repositorio de git a un nuevo servidor y tenemos que actualizar las URLs de los orígenes de nuestros repositorios locales. Problema Cambiamos la url remota del repositorio local de git con el comando git remote set-url y, tras hacer un pull git nos devuelve el siguiente error: fatal: unable to access 'https://git.technoage.es/acme.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none Solución Por lo visto nuestra…

  • Instalación symfony 4 en ubuntu 16.04

    Objetivo Desplegar en un servidor corriendo Ubuntu 16.04* una aplicación de Symfony 4. Requisitos git PHP => 7.1.3 composer nginx Instalación PHP La versión de PHP mantenida en Ubuntu 16.04 es 7.0 y no está previsto que se actualice. Estos son los pasos para instalarla: Como siempre, antes que nada debemos actualizar Ubuntu: $ sudo apt-get update && sudo apt-get upgrade Lo…

2 comentarios

Deja una respuesta

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