Para habilitar el envío de recordatorios de vencimiento de préstamos por correo electrónico haga lo siguiente:
-
Edite el archivo abcd.def (Menú catalogación -> Administración -> Configuracion ABCD -> abcd.def) y active el parámetro EMAIL
-
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
-
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:
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.
Colocar un vínculo para envío de correo
Para enviar un correo electrónico a la persona cuyo registro se muestra en la ventana de catalogación se debe incluir en el formato de presentación un vínculo JavaScript que abra una ventana nueva, invoque el script ../output_circulation/correos.php y le pase los parametros necesarios para el envío del correo
El comando JavaScript para abrir una nueva ventana es [window.open] y en líneas generales tiene la siguiente sintaxis:
window.open(URL,name,specs)
URL =Recurso a invocar
name =Nombre de la ventana
specs=Especificaciones de formato de la ventana
En nuestro caso el URL corresponde la script que va a invocarse para envío del correo, el cual se encuentra alojado en la carpeta output_circulation bajo el nombre correos.php y debe recibir los siguientes parámetros:
base Nombre de la base de datos de la cual se van a obtener los datos de la persona
(se puede obtener en el lenguaje de formatos mediante el comando mstname
ini nombre del archivo .ini con las especificaciones del servidor de correos a utilizar
(ver configuración servidor de correos)
contactos Mfn del registro para el cual se va a emitir el correo
pft Nombre del formato a utilizar para generar el cuerpo del correo (sin la extensión .pft).
Este formato debe incluirse en el archivo .par de la base de datos correspondiente.
Entonces, si
base = correspondencia
contactos = 5
pft = mail
ini = correspondencia.ini, localizado en la carpeta /bases/
el url quedaría de la siguiente manera:
../output_circulation.php?base=correspondencia&contactos=5&pft=mail&ini=correspondencia.ini
cuya expresión en el formato es:
`<a href=javascript:msgwin=window.open('../output_circulation/correos.php?
base=`mstname`&ini=correspondencia.ini&contactos=`f(mfn,1,0),`&pft=mail',
,'width=800; height=400');msgwin.focus()" target=_blank>Enviar Correo</a>`/
Note el uso de los tres tipos de comillas: ` “ ‘ para combinar correctamente la expresión de javascript con la expresión del lenguaje de formatos.
El cuerpo del mensaje, identificado en el parámetro &pft= del URL debe estar construído con las siguientes características:
vxxx’ | ‘vyyy’$$$ Cuerpo del mensaje. No debe contener separadores para salto de línea (/ ó #). Los saltos de línea deben indicarse utilizando las etiquetas HTML y <P> …… / |
El final del formato se indica utilizando el salto de línea condicional (/) del lenguage de formatos de CISIS
Ejemplo:
v135,’ | ‘v110,’$$$ |
Texto del correo ….
Anexo:
<a href=http://localhost:9090/bases/correspondencia/'v80^b' target=_blank>,'v80^a'</a>' /
En este ejemplo en el correo se incluye un vínculo hacia un documento.