SinEtiqueta/ noviembre 2, 2017/ PHP, Programación, Ubuntu Server/ 0 comments

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.

Leave a Comment

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*