Solución al error «TLS negotiation failed» en GMail

Desde primeros de abril, cada vez más gente está encontrándose un error en GMail, por el cual no pueden enviar correos en unas circunstancias concretas (que ahora explicaré). El error concretamente es el siguiente:

TLS Negotiation failed, the certificate doesn’t match the host.

Esto ocurre solo cuando tenemos un dominio propio contratado en algún hosting, pero utilizamos GMail como «cliente» de correo para enviar correos electrónicos desde ese dominio, con la configuración de «Enviar como» que encontramos en las opciones de este servicio online. No le está ocurriendo a todo el mundo, ni en todos los correos que se envían.
OJO, esto es para gente que utiliza GMail, no GSuite.

¿Por qué ocurre esto?

Detrás del error «TLS negotiation failed» hay que entender varias cuestiones, que detallo:

1.- Certificado TLS: Sin ponernos muy técnicos, un certificado TLS lo que permite es que haya una comunicación cifrada entre dos maquinitas (en este caso, entre tu proveedor de hosting y los servidores de GMail). Además, este certificado sirve para validar que quien dice que manda el correo (tu dominio) es quien dice ser, lo cual evita suplantaciones de identidad (phising, por ejemplo).

2.- TLS auto-firmado por el hosting: En el mundo existen una serie de «Autoridades de certificación» (CA) y son los máximos responsables de firmar y verificar la autenticidad de estos certificados TLS (entre otros). Obtener la certificación de uno de estos organismos tiene un coste que un particular o pyme no está dispuesto a asumir, y el hosting no te va a regalar. Es por eso que el propio hosting se «firma» a sí mismo el certificado, con algo conocido como «certificado de validación extendida».

3.- Tu dominio vs dominio de la máquina del hosting: Aunque tu tengas contratado «dominio.com», tu proveedor de hosting tiene múltiples máquinas en Internet (servidores) las cuales albergan cosas como páginas web, servicios de correo o los sistemas necesarios para que el resto del mundo conozca tu dominio (servidores DNS). Por poner un ejemplo, en GoDaddy, tu dominio podría ser «dominio.com», pero el «dominio público» de la máquina del hosting que te tocó al contratar el dominio, podría ser algo como «https://n1plcpnl0048.prod.ams3.secureserver.net«, que si bien no tiene una web propiamente dicha detrás, es la máquina sobre la cual se almacenan tanto tu certificado TLS como el de otros muchos «vecinos» de máquina que también son clientes de tu proveedor de hosting. Por tanto, cuando el servidor de GMail se conecta a tu servidor de correo, ve el nombre de la máquina, y detecta que no coincide con el dominio de tu correo electrónico ([email protected]).

4.- «Pero antes me funcionaba!» 🤷‍♀️ Antes te funcionaba porque Google se «fiaba» de lo que le decía la máquina de tu hosting. Para que nos entendamos, era una especie de «Oye, que Pepito no está en la lista de VIPs, pero viene conmigo y es de confianza», y Google le dejaba pasar. Ahora, Google ha decidido dejar de confiar en los certificados TLS auto-firmados de ALGUNOS proveedores de hosting, dando lugar al error que se menciona arriba. Esto ocurre por el cambio a TLS por defecto en sus clientes de GSuite, cosa que no debería afectar a los usuarios de GMail, pero han aprovechado la implementación de este sistema, para aplicar la nueva política de «desconfianza» de algunos CAs que al parecer estaban interceptando comunicaciones en la red.
Aquí el párrafo que lo explica:

¿Cómo solucionarlo?

Hay varias opciones para arreglar esto, que explicaré en el orden en el que recomiendo tratar de aplicar:

Solución 1.- Reconecta la cuenta. Es lo más rápido y sencillo: en la versión de GMail de escritorio, ve a «Configuración» > «Cuentas e importación» > «Enviar como» > Busca la cuenta en cuestión y pincha en «editar datos». Vuelve a completar todos los campos e introduce la clave. Envíate un correo a ti mismo y comprueba si funciona.

Solución 2.- Introduce el nombre de la máquina del hosting. Para ello, primero tendremos que acceder al panel de control de nuestro hosting, y averiguar el nombre real de la máquina sobre la que está vinculada nuestra cuenta. Esto suele aparecer en alguna de las opciones del panel, como por ejemplo el acceso al FTP de tu cuenta:

Esto es distinto en cada hosting, por lo que me temo que no podré darte unas pautas claras. Si no localizas este tema en tu panel de control, abre un ticket a tu hosting y que te faciliten el nombre de la máquina.

Otra opción para conocer el nombre de la máquina, es ir al terminal de tu sistema y lanzar el comando «ping tudominio.com» y cuando te salga la IP, hacer «nslookup IP», lo cual debería darte el nombre público de esa máquina.

Una vez lo tengas, ponlo en el campo «Servidor»:

Envíate un correo a otra dirección y comprueba si funciona.

Solución 3.- Abrir ticket a tu proveedor de hosting. Contacta con ellos y diles que te den la dirección para el servidor SMTP con un certificado TLS válido para enviar correos desde GMail, o bien que certifiquen con un TLS válido tu dominio.

Solución 4.- Utiliza SMTP sin TLS. Este sistema es el menos seguro, porque podría permitir que cualquiera con los conocimientos suficientes, interceptara los mensajes entre tu hosting y GMail, y pudiera acceder al contenido de lo que envías. Si necesitas una solución rápida y temporal, puedes aplicar esto hasta que tu hosting te provea una solución más adecuada, pero no es recomendable trabajar de esta manera habitualmente. Para ello, dirígete a las opciones de «Enviar como», y cambia los datos del servidor al puerto 25, y «Conexión no segura»:

Comparte este artículo con las personas que creas que están teniendo este problema, y si te quedan dudas, déjalas en los comentarios para que pueda ayudarte a resolverlas 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Ir arriba