Problemas Envio Mensajes: SMTP

Buenas, necesitaría alguna sugerencia para hacer funcionar el envío de emails en nuestras aplicaciones de Gestión y Preinscripción.
Ambas se encuentran alojadas en un servidor de desarrollo. (Ubunt 14 - Versión de Guarani 3.15.0. Versión Preinscripcion 3.8.0)
Adjunto log de errores.


log.txt (2.23 KB)

Hola Ariel, ¿Cómo estás?

Ya configuraron los parámetros vinculados al servidor de correo electrónico, ¿verdad?. ¿Verificaron que estén todos bien?

Hola Francisco, los parámetros fueron verificados y se encuentra todo ok.

Les muestro la configuración del archivo config.php ubicado en el directorio de “instalacion” de nuestro proyecto Preinscripcion 3.8

//--------------------------------------------------------------------------
//---- Servidor de correo --------------------------------------------------
//--------------------------------------------------------------------------

‘smtp’ => array (
‘from’ => ‘preinscripcion@unraf.edu.ar’,
‘from_name’ => ‘SIU-Preinscripción’,
‘host’ => ‘999.999.9.99’,
‘seguridad’ => ‘tsl’,
‘auth’ => false,
‘port’ => 25,
‘reply_to’ => ‘preinscripcion@unraf.edu.ar’,
‘usuario’ => ‘preinscripcion@unraf.edu.ar’,
‘clave’ => ‘xxxxxxxxxxxx’,

// Decidir si se verifican los certificados en una conexión SSL
// Ver: https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure
/*'ssl' => array(
	'verify_peer' => false,
	'verify_peer_name' => false,
	'allow_self_signed' => true
)*/

),

Y acá dejo el error que lanzo en el log de apache:

[Fri Jun 08 16:58:51.309092 2018] [:error] [pid 6713] [client 181.230.151.131:53068] PHP Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:\nerror:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed in /usr/local/proyectos/preinscripcion/3.8.0/vendor/phpmailer/phpmailer/class.smtp.php on line 369, referer: http://servidor5.unra.edu.ar:8080/preinscripcion_admin/test_mail

Hola Ariel:

Fijate en el código que pegaste del config.php hay un link donde menciona este problema y diferentes formas de solicionarlas.

Busca la sección Certificate verification failure

La última opción, que menciona, que no es recomendada, se puede lograr descomentando el bloque ‘ssl’ que esta en el config.php que pegaste en el post anterior

Saludos

Hola Sergio, como estas?
En preinscripcion pudimos resolverlo modificando en el archivo config.php, pero en gestion no estamos encontrandole cual es el inconveniente. Nuestro server de email requiere autenticación por TLS, y por mas que en gestion modificamos los parámetros de autenticación, tls, y contraseña para autenticación no logramos hacer que los emails enviados desde comunicación sean enviados. En los logs no registra nada y al momento de enviar en el sistema (gestion) dice “enviado correctamente”, pero el correo nunca llega

Si se te ocurre por donde puede estar el problema avisanos y desde ya muchas gracias!

Buenas tardes, desde la versión 3.14 el envio de mails se hace desde un comando de consola. Todos los mails enviados desde esta operación son encolados en una tabla llamada jobs.
Te paso un link donde te informa como podes hacer. http://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.15.0/notificador
Si queres validar que el envio de mails está funcionando correctamente podes probar ingresar en olvide contraseña.

Saludos.

Buenas tardes José, te comento que solo a modo de prueba intenté desencolar algunos mensajes pero de todas formas no salió ninguno de ellos.
Concretamente, necesitamos que nos indiquen de que otra forma buscar el problema de envío de emails desde Gestión. Necesitan acceder a nuestro servidor de pruebas? Iniciamos un GDS?

Nota: antes de actualizar a la versión 3.15.0 (desde la versión 3.14) el envío de emails funcionaba correctamente.

Ariel
UNRAF

Buenos días Ariel, probaste si haciendo la recuperación de contraseña te llega el mail?
Validaste que al correr el comando para enviar los mails no tire ningún error en los logs?
Los parámetros para la conexión tanto en Autogestión como en Gestión son los mismos?

Saludos.

Esto es lo que me arrojo el sistema al tratar de recuperar mi contraseña en Gestión:

Log Apache:


[Wed Jun 27 15:35:13.300633 2018] [mpm_prefork:notice] [pid 26062] AH00169: caught SIGTERM, shutting down
PHP Warning:  Module 'PDO' already loaded in Unknown on line 0
PHP Warning:  Module 'pdo_pgsql' already loaded in Unknown on line 0
[Wed Jun 27 15:35:14.329929 2018] [mpm_prefork:notice] [pid 26262] AH00163: Apache/2.4.7 (Ubuntu) configured -- resuming normal operations
[Wed Jun 27 15:35:14.329989 2018] [core:notice] [pid 26262] AH00094: Command line: '/usr/sbin/apache2'
[Wed Jun 27 15:37:35.083762 2018] [:error] [pid 26266] [client 181.230.151.131:57353] Imposible enviar mail. Mensaje de error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting, referer: http://servidor5.unra.edu.ar:8080/guarani/aplicacion.php?ah=st5b33d8b178d065.67571381&ai=guarani%7C%7C58000001
[Wed Jun 27 15:37:35.085926 2018] [:error] [pid 26266] [client 181.230.151.131:57353] No se pudo enviar el email, intente nuevamente., referer: http://servidor5.unra.edu.ar:8080/guarani/aplicacion.php?ah=st5b33d8b178d065.67571381&ai=guarani%7C%7C58000001
[Wed Jun 27 15:37:35.086016 2018] [:error] [pid 26266] [client 181.230.151.131:57353] guarani_error: No se pudo enviar el email, intente nuevamente. \n\n[TRAZA]exception 'guarani_error' with message 'No se pudo enviar el email, intente nuevamente.' in /usr/local/proyectos/guarani/php/nucleo/_lib/fabrica_guarani.php:82\nStack trace:\n#0 /usr/local/proyectos/guarani/php/nucleo/_lib/guarani_nucleo.php(138): fabrica_guarani::error('No se pudo envi...', '')\n#1 /usr/local/proyectos/guarani/php/nucleo/administracion/recuperar_contrasenia/cn_man_recuperar_contrasenia.php(62): guarani_nucleo::error('No se pudo envi...')\n#2 /usr/local/proyectos/guarani/php/operaciones/administracion/recuperar_contrasenia/ci_recuperar_contrasenia.php(65): cn_man_recuperar_contrasenia->recuperar_contrasenia(Array)\n#3 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php(282): ci_recuperar_contrasenia->evt__procesar('undefined')\n#4 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php(204): toba_ci->disparar_evento_propio()\n#...SIGUE..., referer: http://servidor5.unra.edu.ar:8080/guarani/aplicacion.php?ah=st5b33d8b178d065.67571381&ai=guarani%7C%7C58000001

/var/log/auth.log:


Jun 27 15:40:33 UbuntuServidor5 sshd[26424]: Connection closed by 109.248.9.9 [preauth]
Jun 27 15:40:35 UbuntuServidor5 sshd[26427]: Invalid user user from 109.248.9.9
Jun 27 15:40:35 UbuntuServidor5 sshd[26427]: input_userauth_request: invalid user user [preauth]
Jun 27 15:40:35 UbuntuServidor5 sshd[26427]: pam_unix(sshd:auth): check pass; user unknown
Jun 27 15:40:35 UbuntuServidor5 sshd[26427]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=109.248.9.9 
Jun 27 15:40:37 UbuntuServidor5 sshd[26427]: Failed password for invalid user user from 109.248.9.9 port 60897 ssh2

Los parámetros no los modificamos luego de la actualización.

Buenos días Ariel, por lo que puedo ver en los logs lo que te esta fallando es la conexión al smtp al que intentas autenticarte.
Validaste en parámetros del sistema que los datos de conexión al smtp sean los correctos?
Filtra en esa operación los parámetros que contengan email_ para poder buscarlos más rápidamente.

Saludos.

Hola José, te comento sobre las pruebas que estuve realizando para configurar los paramétros de email:

Aclaración: originalmente cuando utilizábamos la versión 3.14 de Guaraní Gestión, los emails se enviaban vía SMTP (puerto 25). Cuando actualizamos a 3.15.0 empezamos a renegar y por ende realizamos todas estas pruebas y configuraciones que te detallo a continuación:

  • Sin Autenticación: puerto 25. Usuario: guarani@unraf.edu.ar
  • Autenticación TLS, puerto 587. Usuario: guarani@unraf.edu.ar
  • Autenticación SSL, puerto 465. Usuario: guarani@unraf.edu.ar
  • Cuenta de Gmail: Servidor: smtp.gmail.com . Protocolo SSL, puerto 465 (también probé con los puertos 25 y 587). Usuario: arigavegno@gmail.com

Se nos acabaron las opciones. Nosotros les pasamos hoy los datos de acceso a nuestro servidor de desarrollo. Podrían realizar algunas pruebas de configuración de parámetros en la aplicación?

Desde ya muchas gracias.

Buenas tardes, para probar con la aplicación de gmail podrías ver de habilitar tu cuenta a las aplicaciones menos seguras. Logueado podes habilitarlo en este link.
https://myaccount.google.com/lesssecureapps?pli=1
La cuenta con la que probaron en 3w o en preinscripción es la misma con la que probaron en gestión?
En los archivos config.php tienen descomentado el array: ssl ?


'ssl' => array(
	'verify_peer' => false,
	'verify_peer_name' => false,
	'allow_self_signed' => true
)

Saludos.

Hola Jose, te detallo las configuraciones SMTP de nuestras aplicaciones de Preinscripción y Autogestión (servidor de desarrollo), las cuáles funcionan correctamente.
Sin embargo desde Gestión, configuramos los parámetros desde la misma aplicación y No, seteando algún archivo de configuración como en las otras aplicaciones. Sugieren algo para este punto? Existe alguna forma de tocar alguna configuración desde el servidor?

config.php de Preinscripción:

'smtp' => array (
		'from' => 'preinscripcion@unraf.edu.ar',
		'from_name' => 'SIU-Preinscripción',
		'host' => '192.168.1.33',
		'seguridad' => 'tls',
		'auth' => 'false',
		'port' => '587',
		'reply_to' => 'guarani@unraf.edu.ar',
		'usuario' => 'guarani@unraf.edu.ar',
		'clave' => 'xxxxxx',
				
		'ssl' => array(
			'verify_peer' => false,
			'verify_peer_name' => false,
			'allow_self_signed' => true
		)
)

config.php de Autogestión:

'smtp' =>
		array(
			'from' => 'autogestion@unraf.edu.ar',
			'host' => '192.168.1.33',
			'seguridad' => 'tls',
			'auth' => 'false',
			'port' => '587',
			'usuario' => 'guarani@unraf.edu.ar',
			'clave' => 'xxxxxx',
            		'reply_to' => 'autogestion@unraf.edu.ar',
			
			'ssl' => array(
				'verify_peer' => false,
				'verify_peer_name' => false,
				'allow_self_signed' => true
			)
		),

Buenos días Ariel, configurando lo mismo para la cuenta de gestión podrías probar modificar el archivo <path_gestion>/vendor/siu-toba/framework/php/nucleo/lib/toba_mail.php y agregar antes de hacer el send estás líneas y verificar si luego de esto funciona?

$mail->SMTPOptions['ssl'] = array('verify_peer' => false,  'verify_peer_name' => false,   'allow_self_signed' => true);

Saludos.

Estimados seguimos con este problema sin poderlo solucionar
el mensaje siempre es el mismo

el log de apache arroja lo siguiente:

[Fri Aug 03 09:17:21.453044 2018] [:error] [pid 25477] [client 181.230.151.131:63221] Imposible enviar mail. Mensaje de error: SMTP connect() failed. ht tps://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting, referer: http://guarani.unraf.edu.ar:8080/guarani/aplicacion.php?ah=st5b6444a44b92b0.15000959 &ai=guarani%7C%7C58000001
[Fri Aug 03 09:17:21.455709 2018] [:error] [pid 25477] [client 181.230.151.131:63221] No se pudo enviar el email, intente nuevamente., referer: http://g uarani.unraf.edu.ar:8080/guarani/aplicacion.php?ah=st5b6444a44b92b0.15000959&ai=guarani%7C%7C58000001
[Fri Aug 03 09:17:21.455810 2018] [:error] [pid 25477] [client 181.230.151.131:63221] guarani_error: No se pudo enviar el email, intente nuevamente. \n\ n[TRAZA]exception ‘guarani_error’ with message ‘No se pudo enviar el email, intente nuevamente.’ in /usr/local/proyectos/guarani/php/nucleo/_lib/fabrica _guarani.php:82\nStack trace:\n#0 /usr/local/proyectos/guarani/php/nucleo/lib/guarani_nucleo.php(138): fabrica_guarani::error(‘No se pudo envi…’, ‘’) \n#1 /usr/local/proyectos/guarani/php/nucleo/administracion/recuperar_contrasenia/cn_man_recuperar_contrasenia.php(62): guarani_nucleo::error(‘No se pud o envi…’)\n#2 /usr/local/proyectos/guarani/php/operaciones/administracion/recuperar_contrasenia/ci_recuperar_contrasenia.php(65): cn_man_recuperar_con trasenia->recuperar_contrasenia(Array)\n#3 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php(282): ci recuperar_contrasenia->evt__procesar(‘undefined’)\n#4 /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.ph p(204): toba_ci->disparar_evento_propio()\n#…SIGUE…, referer: http://guarani.unraf.edu.ar:8080/guarani/aplicacion.php?ah=st5b6444a44b92b0.15000959&a i=guarani%7C%7C58000001 [ < ]

buenas, probá las soluciones que se indican aquí a ver que sucede.
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

hola
El parámetro de sistema en gestión el “email_autentificacion_tipo” esta en “TLS” (En el primer mensaje parece como tsl )
¿Podría volver a revisar mientras realizar las soluciones del mensaje anterior?
Muchas gracias
Saludos

Buenas tardes, gracias por tu respuestra José, pero ya nos habían sugerido ese enlace y no pudimos resolver nada con todas las pruebas que realizamos.
Hace poco les pasamos nuestras credenciales para acceder al servidor (de prueba) y a la aplicación de Gestión para que revisen uds. las configuraciones básicas de nuestro sistema y realizar las correcciones necesarias.
Necesitamos una solución urgente. Podemos extenderles una nota formal autorizando el acceso a nuestro servidor?
Seguimos en contacto.

Nota: Jésica, en respuesta a tu post, los primeros mensajes que publicamos en este tema referían a la configuración de otros sistemas (Preinscripción y Autogestión), por lo tanto no te guíes por eso ya que pudimos resolver que estas aplicaciones envíen correos normalmente. Nos queda pendiente en Gestión 3.15.0

Hola
Revisaron en la operación “parámetros del sistemas” los parámetros que contiene el código “email” por si en alguna de las pruebas anteriores quedara mal configurado?
una lista similar a :

email_autentificacion=>Indica si el servidor de correo requiere autentificación
email_autentificacion_puerto=>Número de Puerto de correo saliente
email_autentificacion_tipo=>Tipo de Autentifcación del servidor de correo
email_cant_max_destinatarios=>Cantidad máxima de destinatarios por email (0 para ilimitado)
email_clave=>Clave de la cuenta de email. Solo si usa autentificación de salida
email_cuenta=>Cuenta de email institucional. Formato: cuenta@servidor_email
email_envio_automatico_comprobante=>Indica si se envia automáticamente un email al alumno con el comprobante de la inscripción.
email_nombre_remitente=>Nombre del remitente de la cuenta de email institucional
email_responder_a=>Cuenta de email para recibir respuesta
email_servidor=>Servidor de correo saliente (SMTP)
email_to=>Define el destinatario del mail cuando el envio de mails es por BCC
email_usuario=>Usuario de la cuenta de email. Solo si usa autentificación de salida

Agrego el link de la documentación de estos parámetros
Cualquier duda coméntanos
Muchas gracias
Saludos