“Error Smtp: No se pudo conectar al servidor” – Causas y correcciones
En estos días, una opción para enviar correos es un requisito básico de cualquier aplicación web.
Aplicaciones tan populares como WordPress, Drupal, etc. incluya un programa de correo llamado “PHPMailer” para enviar correos.
Los pasos para configurar PHPMailer pueden no ser intuitivos para muchos propietarios de sitios web y los errores en la configuración a menudo causan un error de “Error Smtp: Error al conectarse al servidor”.
Como parte de nuestros Servicios de Soporte, ayudamos a los propietarios de sitios web a resolver sus problemas técnicos. Y, el problema de correo relacionado con PHPMailer es un error que vemos a menudo .
En este artículo, veremos las principales razones de “Error Smtp: Error al conectarse” y cómo las solucionamos.
¿Qué es “Error Smtp: Error al conectarse al servidor”?
Los spammers a menudo usan scripts php que se conectan directamente a servidores remotos y envían correos no deseados.
Para defender esto, muchos proveedores de alojamiento Web bloquean la conexión directa de sitios web a servidores de correo externos.
En dichos servidores, los correos desde el sitio web solo se pueden enviar a través de su propio puerto de servidor de correo (servidor SMTP), al igual que funciona el correo de Outlook o Windows.
PHPMailer es una aplicación de correo que funciona como un cliente de correo y ayuda a enviar correo a través de un servidor SMTP.
Pero, PHPMailer no funciona fuera de la caja. Puede fallar debido a restricciones de firewall en el servidor, nombre de servidor de correo incorrecto, puerto, etc. y muestra el error:
“Error Smtp: Error al conectarse al servidor”
Y, dependiendo de la respuesta del servidor de correo, hemos visto 2 variaciones de este error :
SMTP ERROR: Failed to connect to server: Connection refused (111)
o
SMTP ERROR: Failed to connect to server: Connection timed out (110)
¿Qué causa el ERROR SMTP: No se pudo conectar al servidor ?
Aquí, vamos a discutir las principales razones de “ERROR SMTP: No se pudo conectar al servidor”.
Restricciones SMTP en el servidor.Los servidores
restringen los programas que pueden conectarse directamente a servidores remotos y enviar correo. Por lo general, solo servidor de correo, usuario root, etc. permitir conexiones SMTP.
Por ejemplo, los servidores cPanel bloquean el acceso a servidores SMTP externos mediante la opción” Restricciones SMTP”.
Con esta restricción, la conexión de PHPMailer a un servidor de correo externo no funciona. La conexión espera un tiempo y finalmente muere con el siguiente error:
2018-10-12 04:12:37 SMTP ERROR: Failed to connect to server: Connection timed out (110)SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/TroubleshootingOops! Something went wrong and we couldn't send your message.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Restricciones de firewall en el servidor
Los servidores de correo aceptan o rechazan conexiones basadas en ciertas directivas de firewall.
Todos los servidores de correo permiten la conexión desde el puerto de correo predeterminado 25. Bu, t otros puertos de correo como 465, 587, etc. no estará abierto en muchos servidores.
En un servidor con restricciones de puerto de correo, cuando el propietario de un sitio web intenta enviar correo utilizando un servidor smtp externo en el puerto 465, se produce un error:
2018-08-28 10:33:12 Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): unable to connect to ssl://mail.xyz.com:465 (Connection refused)2018-08-28 10:33:12 SMTP ERROR: Failed to connect to server: Connection refused (111)
Aquí, este error de “Conexión rechazada” significa que el servidor de correo que envía rechaza las conexiones salientes en el puerto 465 y no puede conectarse al servidor de correo remoto.
Configuración incorrecta en PHPMailer
Este error SMTP también puede ocurrir si el nombre del servidor de correo está configurado incorrectamente (con espacio en blanco adicional) en la configuración de PHPMailer. Luego, el formulario web intenta conectarse a un nombre no válido y falla.
Errores de DNS
Para que el PHPMailer funcione correctamente, el servidor de correo especificado en su configuración debe tener registros DNS adecuados. Cuando los DNS no funcionan en el servidor, una búsqueda desde el servidor muestra una dirección IP incorrecta o ninguna dirección IP para el servidor de correo. De nuevo, esto hace que el correo falle con un error SMTP.
Cómo solucionar el error SMTP: Error al conectarse al servidor
Para que los correos funcionen con PHPMailer, tanto el servidor de envío como el de recepción deben aceptar conexiones.
Nuestros ingenieros de soporte comprueban principalmente la conexión entre servidores de correo y encuentran si se trata de un bloque entrante o saliente.
Luego, para corregir el error de correo, realizamos cambios en el servidor que incluyen lo siguiente :
- Modifique las reglas de firewall en el servidor para permitir conexiones salientes en puertos como 465.
- Modifique las restricciones SMTP en el servidor. A continuación, agregue un usuario concreto del sitio web a la lista de usuarios que pueden realizar conexiones SMTP salientes.
- Editar configuraciones de PHPMailer como Host, Puerto, etc.
- Resolución DNS correcta para el servidor de correo.
Conclusión
” ERROR SMTP: No se pudo conectar al servidor ” ocurre principalmente debido a problemas de conectividad del servidor de correo, configuración de puertos incorrecta, etc. Aquí, hemos discutido las causas que nuestros ingenieros de soporte ven a menudo en los servidores y cómo las solucionamos.
Leave a Reply