Módulo de captura de correo a GTBib

Se ha desarrollado un nuevo agente GTBib-SOD que permite incorporar las peticiones recibidas en el correo electrónico directamente al programa.

El agente se configura de manera que cada X minutos se conecte a la cuenta IMAP del servicio y escanee las cabeceras de los mensajes de la bandeja de entrada. En caso de encontrar algún patrón detectado como petición, lee el adjunto al mensaje para generar la ficha correspondiente que se inserta en la cola de entrada de peticiones.

En caso de obtener suficientes datos de la petición, se inserta el registro en la cola GTBib y se mueve el mensaje a una carpeta «procesados». En la primera conexión el agente crea dos carpetas INBOX.procesados e INBOX.archivados.

Si el mensaje no es reconocido como petición el agente nunca lee su contenido.

Si el mensaje es reconocido como petición pero no se obtienen datos suficientes no se insertará el registro, quedará marcado como abierto pero no moverá a la carpeta procesados.

En la actualidad el agente puede reconocer peticiones en los formatos GTBIB (EH/EG), los enviados por la Universidad de Cádiz, Universidad Complutense de Madrid y los provenientes del C17/ILL17.

En la cola de entrada de peticiones disponemos de diferentes opciones e informaciones nuevas, que cobran especial interés en los mensajes recibidos por esta via:

  • Al pasar por encima del código de centro solicitante se abre una ventana emergente que nos muestra datos de la cabecera del mensaje como la dirección de correo desde la que se envió la petición a fin de identificar aquellas peticiones que puedan llegar con un código de centro no reconocido o sin él.
  • Al pasar por encima de la libreta, se muestran en una ventana las notas de la petición.
  • En la última columna se nos indica el origen de la petición: (W)eb (de formularios, posiblemente de nuestros usuarios), (S)OAP de otros centros GTBib y un sobre en una bandeja en el caso de las peticiones recibidas por correo. Clicando en el sobre podemos acceder a consultar el mensaje.

Gestión de la cuenta de correo

En las utilidades se ha añadido una nueva opción: «Ver buzón de correo». Esta opción aparece si tenemos configurados los datos en el config.php como se explicará más adelante.

Con esta opción podemos consultar los mensajes que se encuentren en la bandeja de entrada, en la carpeta de procesados o en la de archivados

En la bandeja de entada estarán las peticiones todavía no procesadas, las peticiones que no se pueden procesar y otros mensajes que no son peticiones.

En procesados tendremos las peticiones que ya han sido incorporadas a la cola de peticiones.

En archivados se encuentran los mensajes que nosotros hayamos archivado desde el propio programa.

En todas las carpetas podemos entrar en los mensajes para verlos pinchando en el asunto.

En la parte superior del mensaje podemos ver las opciones de mover el mensaje o eliminar. Mover el mensaje, en caso de estar en la bandeja de entrada lo llevará a archivados. En caso de estar en procesados o archivados el mensaje se moverá a bandeja de entrada y será escaneado de nuevo por el agente. Esto podemos necesitarlo si hemos borrado la petición de la cola antes de procesarla por ejemplo.

También dentro del mensaje tenemos la opción de ver las diferentes partes que componen el mensaje: cabeceras, mensaje y adjunto.

Configuración del módulo y del cron

Los centros que trabajen en la versión local y quieran utilizar este agente deben hacer dos cosas.

  1. Introducir en el fichero config.php del directorio /gtb/sod/SUCCENTRO/ las siguientes variables:

     

    • $IMAP_host = «{servidor_imap:143}INBOX»;
      En esta variable se ha de sustituir servidor_imap por su servidor IMAP y modificar el puerto 143 en caso que sea necesario. Debe introducirse tal como se muestra en el ejemplo, llaves incluidas. Podemos configurar también cuentas ssl como gmail: {imap.gmail.com:993/imap/ssl}INBOX
    • $IMAP_login = «»;
      En esta variable se ha de poner el usuario del correo electrónico.
    • $IMAP_password = «»;
      En esta variable se ha de poner el password del correo electrónico.
  2. Programar un cron en el servidor que ejecute la url que se indica a continuación, con la frecuencia deseada (recomendamos 10 minutos):
    */10 * * * * wget -q -O /dev/null http://su_servidor_gtbib/sod/comprobar_correo.php
    

    También podemos programar el agente (por ejemplo cada media hora) con un parámetro para que nos avise por correo si se producen incidencias.

    3,33 * * * * wget -q -O /dev/null http://su_servidor_gtbib/sod/
    comprobar_correo.php?notificar_errores=email_donde_recibir_incidencias
    

    Tenga presente que en caso que se produzca una incidencia el mensaje lo recibiremos en el periodo indicado hasta la resolución, en el ejemplo anterior, cada media hora.

Trabajaremos en el desarrollo de este módulo para poder por ejemplo recuperar directamente los documentos recibidos por PDF al repositorio u otras opciones que simplifiquen el trabajo diario.