Envío de recordatorios por correo electrónico

From ABCD Wiki
Revision as of 21:02, 6 January 2020 by Guilda (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Para habilitar el envío de recordatorios de vencimiento de préstamos por correo electrónico haga lo siguiente:

1. Edite el archivo abcd.def (Menú catalogación -> Administración -> Configuracion ABCD -> abcd.def) y active el parámetro EMAIL

2. Edite el archivo correo.ini (Menú catalogación -> Administración -> Configuracion ABCD -> correo.ini) y coloque los parámetros para acceso al servidor de correo electrónico

3. Vaya al módulo de préstamos, seleccione la opción Reportes. En la lista de reportes presentados para la base de datos trans seleccione el reporte que va a utilizar para enviar los correos y haga clic sobre editar. Ubique la casilla identificada como Nombre de la PFT para presentar los registros y haga clic sobre editar. Agregue al formato la sentencia:

    '<input type=checkbox name=chk_p value='f(mfn,1,0)'> ' 

a fin de habilitar la casilla que le permitirá seleccionar los destinatarios del correo electrónico. Un ejemplo del formato podría ser el siguiente:

     
     v10'|'
     v12'|'
     v15'|'
     v20'|'
     '<input type=checkbox name=chk_p value='f(mfn,1,0)'> ',ref(['users']l(['users']'CO_'v20),v30) '|'
     v70'|'
     v30*6.2,'-',v30*4.2,'-',v30.4,'|'
     v40*6.2,'-',v40*4.2,'-',v40.4,'|'
     v80'|'
     mhl,v100'|',mpl/

Este formato presentará los reportes de préstamo con el siguiente despliegue:

Email prestamo.png

El texto del correo electrónico se encuentra detallado en el formato mail_dev.pft localizado en los pfts de la base de datos trans. Este formato debe tener las siguientes especificaciones:

      
       ref(['users']l(['users']'CO_'v20),v160'|'v30, ) '$$$<p>
       Le informamos que debe pasar por la biblioteca a devolver el siguiente material: <p>'
       v100,'<br>'
       'Fecha de Préstamo: ',v30*6.2,'-',v30*4.2,'-',v30.4,'<br>',
       'Fecha de Devolución: ',v40*6.2,'-',v40*4.2,'-',v40.4,'<p>'
       /

De la primera línea se extrae el correo electrónico (v160) y el nombre del destinatario (v30). Como este reporte se emite desde la base de datos de transacciones se usa la función ref para obtener estos valores a partir del código de usuario almacenado en la base de datos trans (v20). Del registro del usuario obtenemos el correo y el nombre. Estas varibles deben estar en el orden que se especifica (correo | nombre), separadas por |. La cadena $$$ también es obligatoria ya que guía al script en la recuperación de los datos de envío.

El texto y variables que se coloquen luego del $$$ corresponde al texto el correo y se forma de acuerdo a la conveniencia del centro o biblioteca usuaria. Todo el formato termina con / a efectos de la separación de los registros.


correo.ini

  • En la carpeta bases donde están localizadas las bases de datos bibliográfica, usuarios, transacciones, etc, coloque el archivo correo.ini con los siguientes parámetros:
Parámetro Significado
HOST URL del servidor de correos
Ejm: smtp.gmail.com
PORT Puerto del servidor de correos
Ejm: 465
USERNAME Usuario autorizado en el servidor de correos
Ejm: xx@gmail.com
PASSWORD Clave de acceso del usuario autorizado en el servidor de correos
Ejm: xxx1234
FROM Correo electrónico de la figura que envía el correo
Ejm: xx.net@gmail.com
FROMNAME Nombre de la figura que envía el correo
Ejm: Biblioteca
SUBJECT Asunto del correo
Ejm: Estado de cuenta
TEST Dirección de correo al cual se envirán los correos para la prueba del envío. Si este parámetro está presenta no se tomará en cuenta la dirección del destinatario sino que todos los correos se enviarán a la dirección especificada en este parámetro. Cuando desee enviar los correos a la direccion real del destinatario inhiba este parámetro, por ejemplo, colocándole una X antes del nombre (XTEST)
Ejm
PHPMAILER Si el correo está configurado directamente en PHP puede inhibir este parámetro o colocarle el valor PHP; de otro modo coloque el valor phpmailer para indicar que se va a utilizar una clase denominada PHPMAILER para el envío del correo

Ejemplo del archivo correo.ini

    HOST=smtp.gmail.com
    PORT=465
    USERNAME=xx@gmail.com
    PASSWORD=xx
    FROM=xx.net@gmail.com        
    FROMNAME=xx
    SUBJECT=Estado de cuenta
    TEST=xx@gmail.com
    PHPMAILER=phpmailer

La forma más sencilla de enviar un correo sin enfrentar los problemas de configuración locales es utilizar un cuenta de correos de GMAIL. Para ello cree una cuenta en Gmail y vaya a Mi cuenta -> Acceso y seguridad -> Aplicaciones y sitios conectados -> Opción Permitir el acceso de aplicaciones menos seguras: ACTIVADA (My Account -> Sign-in & security -> Connected apps & sites -> Allow less secure apps: ON). Cambie los valores USERNAME, PASSWORD, FROM, FROMNAME por la cuenta de google que vaya a utilizar y en le parámetro TEST coloque la dirección de correos que va a utilizar para recibir la prueba de los correos generados.