No envía mails desde la preinscripción

Buenos días,
Les comento una situación rara que nos viene pasando desde que habilitamos la preinscripción 3.12
Configuramos una cuenta de gmail para el envio de los mails, la cuenta tiene habilitada la opción de Acceso de apps menos segura.
El tema es que envía los mails normalmente, de repente deja de enviar los mails y tengo que volver a entrar al archivo config.php, volver a escribir la cuenta y allí vuelve a funcionar.
No entiendo que esta pasando, si ustedes tienen alguna idea les agradezco su ayuda.
Marcela

Hola Marcela,

Es extraño que tengas que volver a cargar la cuenta en instalacion/config.php, ¿se te borra alguna configuración? ¿que parámetro dentro de SMPT tenes que volver a cargar, ‘usuario’?

Te recomiendo ir a la sección de Admin de Preinscripción operación Pruebas => Probar Correo y probar cuando te pasa esto de que falla, en instalacion/config.php configura ‘smtp_debug’ => SMTP::DEBUG_LOWLEVEL, para que te muestre información de debug el PHPMailer.

Otra alternativa es utilizar OAUTH2 para el envió de email (si es que usan una cuenta de GMAIL), te dejo links a la documentación:
https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.19.0/envio-email-gmail-xoauth2

Vas a tener que configurar los siguientes parámetros:


			/**
			 * RECOMENDADO
			 * Si se usa OAUTH2 se debe configurar lo siguiente
			 * Obtener los tokens de aquí: https://github.com/PHPMailer/PHPMailer/wiki/Using-Gmail-with-XOAUTH2
			 */
			'auth_type' => mail::AUTH_TYPE_XOAUTH2,
			'oauth2_email' => 'preinscripcion@gmail.com',
			'oauth2_client_id' => 'RANDOMCHARS-----duv1n2.apps.googleusercontent.com',
			'oauth2_client_secret' => 'RANDOMCHARS-----lGyjPcRtvP',
			'oauth2_refresh_token' => 'RANDOMCHARS-----DWxgOvPT003r-yFUV49TQYag7_Aod7y0',

saludos.
2

Hola Leonel,
No se borra ninguna configuración, solo vuelvo a escribir el valor en la variable en from y nada mas.
Voy a hacer esas pruebas y te aviso.
Gracias!

Hola Leonel,
Te comento que hice lo que me indicaste para ver el error y el problema es que Gmail tiene un límite de envío de correos diarios y que nosotros lo estamos superando.
Por lo que leí el envío se restablece nuevamente entre 1 a 24 hs.
Te consulto porque no sé como debería configurar en preinscripción 3.12 la cuenta que tenemos de nuestra univerisidad @unsa.edu.ar, yo la configuré en la preinscripciónde G2 y nunca tuvimos problemas pero ahora en la preinscripción 3.12 no se que estoy haciendo mal.

En preinscripción de G2 tengo lo siguiente:

'smtp' =>
                array (
                    'from' => 'preinscripcion@unsa.edu.ar',
                    'from_name' => 'SIU-Preinscripcion',
                    'host' => 'ciunsa.unsa.edu.ar',
                    'seguridad' => null,
                    'auth' => null,
                    'port' => null,
                    'reply_to' => 'ingresante@gmail.com',
                    'usuario' => null,
                    'clave' => null,
),

En preinscripción 3.12 lo configuro de la siguiente manera pero no funciona (te adjunto el error que sale):

'smtp' => array(
                        'from' => 'preinscripcion@unsa.edu.ar',
                        'from_name' => 'SIU-Preinscripci�n',
                        'host' => 'ciunsa.unsa.edu.ar',
                        'seguridad' => null,
                        'auth' => null,
                        'port' => null,
                        'reply_to' => 'ingresante@gmail.com',
                        /**
                         * Debug output level.
                         * Options:
                         * * SMTP::DEBUG_OFF (`0`) No debug output, default
                         * * SMTP::DEBUG_CLIENT (`1`) Client commands
                         * * SMTP::DEBUG_SERVER (`2`) Client commands and server responses
                         * * SMTP::DEBUG_CONNECTION (`3`) As DEBUG_SERVER plus connection status
                         * * SMTP::DEBUG_LOWLEVEL (`4`) Low-level data output, all messages.
                         */
                        'smtp_debug' => SMTP::DEBUG_LOWLEVEL,

                        /**
                         * RECOMENDADO
                         * Si se usa OAUTH2 se debe configurar lo siguiente
                         * Obtener los tokens de aqu�: https://github.com/PHPMailer/PHPMailer/wiki/Using-Gmail-with-XOAUTH2
                         */
                        //'auth_type' => mail::AUTH_TYPE_XOAUTH2,
                        //'oauth2_email' => 'preinscripcion@gmail.com',
            //'oauth2_client_id' => 'RANDOMCHARS-----duv1n2.apps.googleusercontent.com',
            //'oauth2_client_secret' => 'RANDOMCHARS-----lGyjPcRtvP',
            //'oauth2_refresh_token' => 'RANDOMCHARS-----DWxgOvPT003r-yFUV49TQYag7_Aod7y0',

                        /**
                         * NO RECOMENDADO: Se debe dar "Acceso de apps menos seguras" en Gmail
                         * Si se usa autenticaci�n simple configurar 'usuario' y 'clave'
                         */
                        //'auth_type' => mail::AUTH_TYPE_USER_PASS,
                        //'usuario' => null,
                        //'clave' => null,

Espero puedas orientarme.
Saludos!


error_cuenta_unsa.txt (1.75 KB)

Hola Marcela,

Deberías configurarlo de la siguiente manera:


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

		/**
		 * Se provee un ejemplo de configuración del correo usando el servidor de GMail
		 */
		'smtp' => [
			'from' => 'cuenta@gmail.com',
			'from_name' => 'SIU-Preinscripción',
			'host' => 'smtp.gmail.com',
			'seguridad' => mail::SSL,
			'auth' => true,
			'port' => 465,
			'reply_to' => 'reply_to@gmail.com',
			/**
			 * Debug output level.
			 * Options:
			 * * SMTP::DEBUG_OFF (`0`) No debug output, default
			 * * SMTP::DEBUG_CLIENT (`1`) Client commands
			 * * SMTP::DEBUG_SERVER (`2`) Client commands and server responses
			 * * SMTP::DEBUG_CONNECTION (`3`) As DEBUG_SERVER plus connection status
			 * * SMTP::DEBUG_LOWLEVEL (`4`) Low-level data output, all messages.
			 */
			'smtp_debug' => SMTP::DEBUG_OFF,
			
			/**
			 * NO RECOMENDADO: Se debe dar "Acceso de apps menos seguras" en Gmail
			 * Si se usa autenticación simple configurar 'usuario' y 'clave'
			 */
			'auth_type' => mail::AUTH_TYPE_USER_PASS,
			'usuario' => 'cuenta@gmail.com',
			'clave' => '**********',
			
		],

No cambia mucho entre Preinscripción 2 y Preinscripción 3.

Veo que en los logs que me mandantes muestra lo siguiente:


2022-02-11 11:55:34 Connection failed. Error #2: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed [/proyectos/preinscripcion/vendor/phpmailer/phpmailer/src/SMTP.php line 454]
SMTP Error: Could not connect to SMTP host.

Buscando el error encontré lo siguiente:

En instalacion/config.php podes descomentar la parte que dice:


			// 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' => [
				'verify_peer' => false,
				'verify_peer_name' => false,
				'allow_self_signed' => true
			]

No es lo mas recomendado pero quizás sirva.

Te comento que hice lo que me indicaste para ver el error y el problema es que Gmail tiene un límite de envío de correos diarios y que nosotros lo estamos superando.
Si, Gmail tiene un limite o quota como le llaman (https://support.google.com/a/answer/166852?hl=en).

Igualmente en los logs veo que usas el host ciunsa.unsa.edu.ar en el puerto 25, quizás te convenga usar host smtp.gmail.com en puerto 465 (ssl) o 587 (tls):


'host' => 'smtp.gmail.com',
'seguridad' => mail::SSL,
'auth' => true,
'port' => 465,


'host' => 'smtp.gmail.com',
'seguridad' => mail::TLS,
'auth' => true,
'port' => 587,

saludos.
2

Hola Leonel,
Lo que yo quiero configurar es con una cuenta @unsa.edu.ar por eso estaba utilizando el host ciunsa.unsa.edu.ar.
Probé hacer lo que me indicas y no envía los mails.
En preinscripción G2 lo tenía configurado de la siguiente manera:


'smtp' =>
                array (
                    'from' => 'preinscripcion@unsa.edu.ar',
                    'from_name' => 'SIU-Preinscripcion',
                    'host' => 'ciunsa.unsa.edu.ar',
                    'seguridad' => null,
                    'auth' => null,
                    'port' => null,
                    'reply_to' => 'ingresante@gmail.com',
                    'usuario' => null,
                    'clave' => null,

Lo configuro igual y no pasa nada, en preinscripción 3.12 lo único que no tengo son las entradas usuario y clave.

Leonel, te comento lo siguiente,
Me dicen los técnicos que hace un tiempo atrás desde el SIU les solicitaron una cuenta de la UNSA para que ellos lo configuren en el sistema Quechua para el envío de mensajes, dicha cuenta debía tener ciertas condiciones de seguridad y que el administrador de la Universidad le dijo que el servidor de correos de la UNSa no cuenta con esa configuración, así que no se pudo configurar.
Tenés idea si algo de eso puede estar pasando en la preinscripción?
Saludos!

Hola Marcela,

¿las cuentas @unsa.edu.ar son de gmail? Nosotros tenemos las cuentas @siu.edu.ar que son cuentas de gmail.

Esos valores null que me pones en el ejemplo, ¿están así en null o pones null en reemplazo al valor real?

¿Podes pasarme como tenes las configuración SMTP sin usuario y clave?

¿te funciona bien el envío de emails en Guaraní Gestión y Autogestión?

Me dicen los técnicos que hace un tiempo atrás desde el SIU les solicitaron una cuenta de la UNSA para que ellos lo configuren en el sistema Quechua para el envío de mensajes, dicha cuenta debía tener ciertas condiciones de seguridad y que el administrador de la Universidad le dijo que el servidor de correos de la UNSa no cuenta con esa configuración, así que no se pudo configurar. Tenés idea si algo de eso puede estar pasando en la preinscripción?
Por lo que veo en los logs estas usando el host ciunsa.unsa.edu.ar con el puerto 25.

Referencia:

saludos.
4

Hola Leonel,
Las cuentas @unsa.edu.ar no son de gmail, en la universidad hay un servidor de correo propio.
Los valores en null se los pongo porque así van, no es en reemplazo de ningún valor, así lo tenía configurado en la preinscripción de G2.
En Guaraní Gestión utilizamos una cuenta @gmail y si funciona porque el envío de mails no supera la quota de gmail, autogestión se habilitó hoy y veremos que pasa pero también tiene una cuenta @gmail.
Utilizo el host ciunsa.unsa.edu.ar porque ese es el servidor de correo de la unsa.
Te paso como lo configuro pero no funciona…


'smtp' => array(
                        'from' => 'preinscripcion@unsa.edu.ar',
                        'from_name' => 'SIU-Preinscripci�n',
                        'host' => 'ciunsa.unsa.edu.ar',
                        'seguridad' => null,
                        'auth' => null,
                        'port' => null,
                        'reply_to' => 'ingresante@gmail.com',
                        /**
                         * Debug output level.
                         * Options:
                         * * SMTP::DEBUG_OFF (`0`) No debug output, default
                         * * SMTP::DEBUG_CLIENT (`1`) Client commands
                         * * SMTP::DEBUG_SERVER (`2`) Client commands and server responses
                         * * SMTP::DEBUG_CONNECTION (`3`) As DEBUG_SERVER plus connection status
                         * * SMTP::DEBUG_LOWLEVEL (`4`) Low-level data output, all messages.
                         */
                        'smtp_debug' => SMTP::DEBUG_LOWLEVEL,

                        /**
                         * RECOMENDADO
                         * Si se usa OAUTH2 se debe configurar lo siguiente
                         * Obtener los tokens de aqu�: https://github.com/PHPMailer/PHPMailer/wiki/Using-Gmail-with-XOAUTH2
                         */
                        //'auth_type' => mail::AUTH_TYPE_XOAUTH2,
                        //'oauth2_email' => 'preinscripcion@gmail.com',
            //'oauth2_client_id' => 'RANDOMCHARS-----duv1n2.apps.googleusercontent.com',
            //'oauth2_client_secret' => 'RANDOMCHARS-----lGyjPcRtvP',
            //'oauth2_refresh_token' => 'RANDOMCHARS-----DWxgOvPT003r-yFUV49TQYag7_Aod7y0',

                        /**
                         * NO RECOMENDADO: Se debe dar "Acceso de apps menos seguras" en Gmail
                         * Si se usa autenticaci�n simple configurar 'usuario' y 'clave'
                         */
                        //'auth_type' => mail::AUTH_TYPE_USER_PASS,
                        //'usuario' => null,
                        //'clave' => null,

El único problema con gmail es la quota, solo por eso quería utilizar la cuenta @unsa.edu.ar
Saludos!

Hola Marcela,

Hay valores que están en null y debería tener algún valor.

Nosotros siempre utilizamos Gmail para el envío de emails con SMTP, deberías ver los ejemplos que da PHPMailer para tu caso: https://github.com/PHPMailer/PHPMailer/tree/v6.1.8/examples

Quizás puedas probar este ejemplo: https://github.com/PHPMailer/PHPMailer/blob/v6.1.8/examples/smtp_no_auth.phps

O este otro código para chequear porque no funciona: https://github.com/PHPMailer/PHPMailer/blob/v6.1.8/examples/smtp_check.phps

¿que ocurre si configuras de la siguiente manera?


'smtp' => array(
                        'from' => 'preinscripcion@unsa.edu.ar',
                        'from_name' => 'SIU-Preinscripci�n',
                        'host' => 'ciunsa.unsa.edu.ar',
                        'seguridad' => '',
                        'auth' => false,
                        'port' => 25,
                        'reply_to' => 'ingresante@gmail.com',
                        /**
                         * Debug output level.
                         * Options:
                         * * SMTP::DEBUG_OFF (`0`) No debug output, default
                         * * SMTP::DEBUG_CLIENT (`1`) Client commands
                         * * SMTP::DEBUG_SERVER (`2`) Client commands and server responses
                         * * SMTP::DEBUG_CONNECTION (`3`) As DEBUG_SERVER plus connection status
                         * * SMTP::DEBUG_LOWLEVEL (`4`) Low-level data output, all messages.
                         */
                        'smtp_debug' => SMTP::DEBUG_LOWLEVEL,

                        /**
                         * RECOMENDADO
                         * Si se usa OAUTH2 se debe configurar lo siguiente
                         * Obtener los tokens de aqu�: https://github.com/PHPMailer/PHPMailer/wiki/Using-Gmail-with-XOAUTH2
                         */
                        //'auth_type' => mail::AUTH_TYPE_XOAUTH2,
                        //'oauth2_email' => 'preinscripcion@gmail.com',
            //'oauth2_client_id' => 'RANDOMCHARS-----duv1n2.apps.googleusercontent.com',
            //'oauth2_client_secret' => 'RANDOMCHARS-----lGyjPcRtvP',
            //'oauth2_refresh_token' => 'RANDOMCHARS-----DWxgOvPT003r-yFUV49TQYag7_Aod7y0',

                        /**
                         * NO RECOMENDADO: Se debe dar "Acceso de apps menos seguras" en Gmail
                         * Si se usa autenticaci�n simple configurar 'usuario' y 'clave'
                         */
                        //'auth_type' => mail::AUTH_TYPE_USER_PASS,
                        //'usuario' => null,
                        //'clave' => null,

saludos.
2

Hola Leonel,
Probé con la configuración que me indicaste y tampoco funciona.
Voy a leer los links que me pasaste y te aviso.
Saludos!

Hola Marcela,

Proba con la siguiente configuración:


'smtp' => array(
                        'from' => 'preinscripcion@unsa.edu.ar',
                        'from_name' => 'SIU-Preinscripción',
                        'host' => 'ciunsa.unsa.edu.ar',
                        'seguridad' => '',
                        'auth' => false,
                        'port' => 25,
                        'reply_to' => 'ingresante@gmail.com',
                        /**
                         * Debug output level.
                         * Options:
                         * * SMTP::DEBUG_OFF (`0`) No debug output, default
                         * * SMTP::DEBUG_CLIENT (`1`) Client commands
                         * * SMTP::DEBUG_SERVER (`2`) Client commands and server responses
                         * * SMTP::DEBUG_CONNECTION (`3`) As DEBUG_SERVER plus connection status
                         * * SMTP::DEBUG_LOWLEVEL (`4`) Low-level data output, all messages.
                         */
                        'smtp_debug' => SMTP::DEBUG_LOWLEVEL,

                        /**
                         * RECOMENDADO
                         * Si se usa OAUTH2 se debe configurar lo siguiente
                         * Obtener los tokens de aquí: https://github.com/PHPMailer/PHPMailer/wiki/Using-Gmail-with-XOAUTH2
                         */
                        //'auth_type' => mail::AUTH_TYPE_XOAUTH2,
                        //'oauth2_email' => 'preinscripcion@gmail.com',
            //'oauth2_client_id' => 'RANDOMCHARS-----duv1n2.apps.googleusercontent.com',
            //'oauth2_client_secret' => 'RANDOMCHARS-----lGyjPcRtvP',
            //'oauth2_refresh_token' => 'RANDOMCHARS-----DWxgOvPT003r-yFUV49TQYag7_Aod7y0',

                        /**
                         * NO RECOMENDADO: Se debe dar "Acceso de apps menos seguras" en Gmail
                         * Si se usa autenticación simple configurar 'usuario' y 'clave'
                         */
                        //'auth_type' => mail::AUTH_TYPE_USER_PASS,
                        //'usuario' => null,
                        //'clave' => null,

			 /* 
			 * Decido si verifico los certificados en una conexión SSL
			 * Ver: https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure
			 */
			'ssl' => [
				'verify_peer' => false,
				'verify_peer_name' => false,
				'allow_self_signed' => true
			]

Se agrega lo siguiente:


			 /* 
			 * Decido si verifico los certificados en una conexión SSL
			 * Ver: https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure
			 */
			'ssl' => [
				'verify_peer' => false,
				'verify_peer_name' => false,
				'allow_self_signed' => true
			]

¿su servidor SMTP no tiene autenticación, no usa usuario y clave?

Revisa la respuesta 4 de este mismo foro.

Luego volve a hacer las pruebas que te pedí en la respuesta 1 y me volves a pasar los logs.

saludos.
2

Hola Leonel,
Perdón que conteste recién pero estaba con otras cosas, ya hago las pruebas y te adjunto el log.
Saludos!

Hola Leonel,
Hice los últimos cambios que me indicaste y sigue sin funcionar, te adjunto el log.
Te consulto, sabes si las otras universidades utilizan sólo cuentas de Gmail y como hacen con la quota?
Saludos!


error.txt (1.81 KB)

Hola Marcela,

Te consulto, sabes si las otras universidades utilizan sólo cuentas de Gmail y como hacen con la quota?
Según el soporte que he dado la mayoría usa Gmail. Lo de la quota no lo se, te lo averiguo.
Hice los últimos cambios que me indicaste y sigue sin funcionar, te adjunto el log.
Sigo viendo lo siguiente en el log:
2022-02-18 14:57:08 Connection failed. Error #2: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed [/proyectos/preinscripcion/vendor/phpmailer/phpmailer/src/SMTP.php line 454]
SMTP Error: Could not connect to SMTP host.

Para mi el problema es que no es SMPT sino MAIL, probemos la solución que proponen acá:

En la función enviar de vendor/siu/chulupi-framework/src/SIU/Chulupi/util/mail.php cambia $mail->IsSMTP(); por $mail->isMail();

Referencia:

saludos.
2

Hola Leonel,
perdón la demora en responder.
Hice lo que me indicaste pero me da este error: Could not instantiate mail function.
Saludos!

Hola Marcela,

Ok, entonces revertí este cambio haciendo que quede $mail->IsSMTP();:

En la función enviar de vendor/siu/chulupi-framework/src/SIU/Chulupi/util/mail.php cambia $mail->IsSMTP(); por $mail->isMail();

Deberían revisar porque no esta funcionando su servidor de correo propio.

Quizás convenga primero probarlo con alguna herramienta que verifique el envío de emails:

Probé el algunas y da timeout.
Prueben primero poder enviar emails fuera de lo que es Guaraní, una vez que lo logren vemos como hacerlo desde el mismo.

saludos.
4

Hice la siguiente prueba en este sitio https://mxtoolbox.com/diagnostic.aspx:

Prueba con smtp.gmail.com:

220 smtp.gmail.com ESMTP x7sm1194449qta.75 - gsmtp


Connecting to 173.194.205.108

220 smtp.gmail.com ESMTP x7sm1194449qta.75 - gsmtp [133 ms]
EHLO keeper-us-east-1c.mxtoolbox.com
250-smtp.gmail.com at your service, [18.205.72.90]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8 [122 ms]
MAIL FROM:<supertool@mxtoolboxsmtpdiag.com>
530 5.7.0 Must issue a STARTTLS command first. x7sm1194449qta.75 - gsmtp [121 ms]
RCPT TO:<test@mxtoolboxsmtpdiag.com>
530 5.7.0 Must issue a STARTTLS command first. x7sm1194449qta.75 - gsmtp [119 ms]

LookupServer 727ms

Prueba con ciunsa.unsa.edu.ar:

Unable to connect after 15 seconds.


Connecting to 170.210.200.2
2/22/2022 10:00:10 AM Connection attempt #1 - Unable to connect after 15 seconds. [15.03 sec]

LookupServer 15748ms

saludos.

Hola Leonel!
Voy a consultar con el administrador de correos de la Universidad.
Muchas gracias por tu ayuda!
Estamos en contacto.
Saludos!

como solucionaron el tema de la quota que da Gmail (Google Workspace) ?

En nuestro caso en época de pre inscripciones se nos bloquea (Límite de envío diario por cuenta de usuario es 2000).

A alguno le paso ?