SMTP connect() failed.

Situación:

  • Tenemos nuestro propio Servidor Ubuntu Server con LAMP (PHP7 + Apache2 + MySQL) + PhpMyAdmin
  • Hemos programado una plataforma donde se envían emails a través de SMTP, y no funciona.
  • Probamos la misma plataforma en un Servidor XAMPP bajo Windows o en un Servidor Externo y sí funciona.

Mensaje que aparece: eMail error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

El problema viene definido a que el LAMP que hemos instalado  en nuestro Ubuntu Server no tiene instalada/habilitada la función para poder enviar emails por SMTP.

Con esta solución, solo hemos conseguido enviar emails pero sin archivos adjuntos:

Instalamos el paquete  ssmtp:

sudo apt-get install ssmtp -y

Editamos el archivo ssmtp.conf:

sudo nano /etc/ssmtp/ssmtp.conf

Añadimos:

mailhub=smtp.server.com:587 nuestro.servidor.com:NumPuerto
UseSTARTTLS=YES En caso de utilizar Seguridad TLS, ponemos YES, si no, NO
AuthUser=user@server.com Usuario del Correo
AuthPass=pas$$word1234 Contraseña del correo

Guardamos y salimos.

Editamos el archivo php.ini para asignar la variable sendmail_path, ojo depende de la versión de PHP instalada tenemos el archivo en diferentes ubicaciones:

Para PHP5

sudo nano /etc/php5/apache2/php.ini

Para PHP7

sudo nano /etc/php/7.0/apache2/php.ini

En la linea sendmail_path hay que ponerla así:

sendmail_path = /usr/sbin/ssmtp -t

Guardamos y salimos.

Reiniciamos el servidor apache:

sudo /etc/init.d/apache2 restart

 

Fuente: REVIBLOG

 

Ahora el problema de enviar ya no existe, pero nos encotramos con dos cosas más:

  • La codificación del email no parece ser UTF-8 Spanish_ci: Actualizado: Definir el CharSet a UTF-8
ejemplo: $mail ->CharSet = 'UTF-8';
  • No se adjuntan los archivos: Actualizado: estábamos enviando un valor NULL en un campo integuer, y el sistema no devolvía ningún error. En algunos servidores como el XAMPP, el PHPmyAdmin, es menos restrictivo que un servidor instalado desde el principio, y lo que pasaba es que el adjunto sí se subia al servidor, pero luego no guardaba la ruta en la tabla. Enviado un valor 0, ya funciona todo correctamente y no tenía nada que ver con el servidor SSMTP.

Deja un comentario

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies