Diferencia entre revisiones de «SIU-Guarani/Version3.19.0/envio-email-gmail-xoauth2»

De SIU
Saltar a: navegación, buscar
m
m
Línea 9: Línea 9:
 
== [[#generar-refresh-token|2. Generar Refresh Token]] ==
 
== [[#generar-refresh-token|2. Generar Refresh Token]] ==
  
En '''SIU-Guaraní Gestión''' editar el archivo '''instalacion/toba.conf''' agregando la siguiente entrada:
+
2.1) En '''SIU-Guaraní Gestión''' editar el archivo '''vendor/phpmailer/phpmailer/get_oauth_token.php'''configurando las variables '''$clientId''' y '''$clientSecret''' con las credenciales generadas en el [#obtener-credenciales-XOAUTH2 paso 1].
 +
 
 +
2.2) En '''SIU-Guaraní Gestión''' editar el archivo '''instalacion/toba.conf''' agregando la siguiente entrada:
 
<source lang="apache" enclose="div">
 
<source lang="apache" enclose="div">
 
         #Configuración de Gmail vía XOAUTH2
 
         #Configuración de Gmail vía XOAUTH2
Línea 36: Línea 38:
 
</source>
 
</source>
  
Al enviar emails con el '''Notificador''' estos mismos no se envían directamente, sino que se encolan en la tabla '''jobs''' para luego ser desencolados y enviados por un '''Worker'''.<br>
 
Para invocar a dicho '''Worker''' se debe ejecutar el siguiente comando en Guaraní Gestión:
 
 
Para desencolar y enviar todos los emails:
 
<source lang="apache" enclose="div">
 
bin/guarani enviar_emails_notificador
 
</source>
 
 
Para desencolar y enviar de a 12 emails:
 
<source lang="apache" enclose="div">
 
bin/guarani enviar_emails_notificador --cantidad 12
 
</source>
 
 
Para desencolar y enviar de a 21 emails (versión reducida):
 
<source lang="apache" enclose="div">
 
bin/guarani enviar_emails_notificador -c 21
 
</source>
 
 
'''NOTA''': Se debe '''tener los permisos necesarios''' en la carpeta donde se almacenan los '''archivos adjuntos''' que irán en el email, en caso contrario el email llegara pero con el cuerpo vacío.
 
Otra opción cuando ocurre este caso seria correr el comando como '''root''' (sudo).
 
 
Se debe utilizar una herramienta como '''Cron''' o '''Crontab''' para que dicho comando se ejecute cada cierto periodo de tiempo.
 
 
== 3. Depuración del envío de email ==
 
 
Si los emails no se están pudiendo enviar, se puede depurar agregando la directiva '''smtp_debug_nivel''' en el archivo '''instalacion/instalacion.ini''', ej:
 
 
<source lang="apache" enclose="div">
 
smtp_debug_nivel = "<nivel_debug>"
 
</source>
 
 
'''<nivel_debug>''' puede ser un valor de 0 a 4, donde 0 no muestra información de debug y 4 muestra todos los mensajes de debug.
 
  
 
[[SIU-Guarani/Version3.19.0/consideraciones_tecnicas|< Volver]]
 
[[SIU-Guarani/Version3.19.0/consideraciones_tecnicas|< Volver]]

Revisión del 12:59 19 may 2021

Envío de email con Gmail vía XOAUTH2

En esta sección se explica como enviar emails con Gmail vía XOAUTH2.

1. Obtener credenciales de XOAUTH2

Seguir estos pasos para generar el Client ID y Client secret.

2. Generar Refresh Token

2.1) En SIU-Guaraní Gestión editar el archivo vendor/phpmailer/phpmailer/get_oauth_token.phpconfigurando las variables $clientId y $clientSecret con las credenciales generadas en el [#obtener-credenciales-XOAUTH2 paso 1].

2.2) En SIU-Guaraní Gestión editar el archivo instalacion/toba.conf agregando la siguiente entrada:

        #Configuración de Gmail vía XOAUTH2
        Alias /phpmailer "<PATH-GESTION>/vendor/phpmailer/phpmailer/"
        <Directory <PATH-GESTION>/vendor/phpmailer>

                DirectoryIndex get_oauth_token.php

                <IfModule !mod_access_compat.c>
                #Apache 2.2.x
                ##Piense en actualizar la version del web server a Apache 2.4.x al menos
                ##Si desea seguir en esta version, descomente las siguientes lineas
                #       Order allow,deny
                #       Allow from all
                </IfModule>
                <IfModule mod_access_compat.c>
                        #Apache 2.3.x/2.4.x  back-comp (deprecated)
                        Order allow,deny
                        Allow from all
                </IfModule>
                <IfModule mod_authz_core.c>
                        #Apache 2.4.x
                        Require all granted
                </IfModule>
        </Directory>


< Volver