MailTray
- 1 Datos Generales
- 2 Parámetros soportados
- 2.1 name
- 2.2 inputMailFolder
- 2.3 errorFolder
- 2.4 host
- 2.5 protocol
- 2.6 port
- 2.7 username
- 2.8 password
- 2.9 isExternalized
- 2.10 advanceSessionProps
- 2.11 deleteErrorMail
- 2.12 className
- 2.13 internalName
- 2.14 count
- 2.15 fields
- 2.16 maskTool
- 3 Particularidades de funcionamiento
- 4 Ejemplos de Configuración
- 4.1 Básica
- 4.2 Básica IMAP
- 4.3 POP3s
- 4.4 IMAPs
- 4.5 Office 365
- 4.6 Credenciales externalizadas
Datos Generales
Tipo de Bandeja | Casilla de correo electrónico |
---|---|
Nombre Calificado | com.latintech.thuban.docintro.tray.MailTray |
Extiende de | |
Descripción | Bandeja de trabajo que permite recuperar los documentos de una casilla de correo. |
Disponible desde Versión | 5.7 Capacidad IMAP agregada en 7.1 Capacidad para POP3s e IMAPs agregada en 7.5.2 |
Parámetros soportados
A continuación se listarán todos los parámetros aceptados por la bandeja. Los títulos que anteceden cada tabla son los nombres de los parámetros, los mismos son caseSensitive.
name
Tipo | String |
---|---|
Requerido | Sí |
Descripción | Es el nombre que se le otorga a esta instancia particular de la bandeja que se está definiendo en el XML de DocIntro. Es utilizado para referencia la bandeja en el TrayManager. |
inputMailFolder
Tipo | String |
---|---|
Requerido | Sí |
Descripción | Nombre de la carpeta remota de la casilla de correo electrónico desde la cuál se tomarán los correos a procesar. Ej: INBOX |
errorFolder
Tipo | Carpeta |
---|---|
Requerido | Sí. Además la misma debe existir. |
Descripción | Carpeta dónde se alojarán los logs y archivos que durante el procesamiento arrojen error. |
host
Tipo | String |
---|---|
Requerido | Sí |
Descripción | URL / IP del servidor de correo electrónico. |
protocol
Tipo | String |
---|---|
Requerido | No. Valor por defecto “pop3“ |
Descripción | Protocolo de conexión a la casilla de correo electrónico. Valores posibles: pop3 | pop3s | imap | imaps |
port
Tipo | Integer |
---|---|
Requerido | No. De no especificar utiliza el puerto por defecto para el protocolo utilizado. Ej: pop3 → 110 |
Descripción | Puerto de conexión al servidor de correos electrónicos. |
username
Tipo | String |
---|---|
Requerido | No |
Descripción | Nombre usuario necesario para conectarse a la casilla de correo electrónico. En caso de no precisar, dejar vacío. |
password
Tipo | String |
---|---|
Requerido | No |
Descripción | Clave de acceso a la casilla de correo electrónico correspondiente al parámetro “username” |
isExternalized
Tipo | Boolean |
---|---|
Requerido | No. Valor por defecto “false“ |
Descripción | Con esta propiedad se indica si el parámetro “username” y “password” están externalizados. Esto significa que en el xml del docintro se ponen variables en vez de los datos reales. Al momento de ejecutar la bandeja con esto activo irá a buscar estos parámetros al archivo security.properties |
advanceSessionProps
Tipo | Map |
---|---|
Requerido | No |
Descripción | Permite pasar parámetros especiales para la creación de la sesión de conexión al correo electrónico. Por ejemplo, para ssl : <property name="advanceSessionProps">
<map>
<entry key="mail.imap.socketFactory.class" value="javax.net.ssl.SSLSocketFactory"/>
</map>
</property> |
deleteErrorMail
Tipo | Boolean |
---|---|
Requerido | No. Valor por defecto “false“ |
Descripción | Indica si la bandeja debe eliminar el correo electrónico de la casilla en caso de error. |
className
Tipo | String |
---|---|
Requerido | No |
Descripción | Indica el ID de la clase documental de destino de los archivos a ser procesados. No es necesario definirla aquí, puede ser definida posteriormente en un procesador. |
internalName
Tipo | String |
---|---|
Requerido | No |
Descripción | Permite sobreescribir la configuración de la clase documental indicando aquí de que forma se debe conformar el nombre del documento en Thuban. Puede ser definido posteriormente en un procesador de subida de documentos. En caso de no informar nada en ningún lado del DocIntro, al momento de subirse el documento a Thuban se generará el nombre como está definido en la clase documental. |
count
Tipo | Integer |
---|---|
Requerido | Sí |
Descripción | Indica cuántos correos electrónicos serán procesados por la bandeja en cada ejecución del DocIntro. |
Este no es estrictamente un parámetro obligatorio en el sentido de que la aplicación no arrojará un error de no estar definido.
Sin embargo, decidimos ponerlo como tal ya que el valor que toma por defecto es “0”, entonces el efecto será que no se procesará ningún correo electrónico y eso podría causar confusión sobre el funcionamiento de nuestro DocIntro.
fields
Tipo | Map |
---|---|
Requerido | Sí, aunque puede estar vacío. |
Descripción | Mapa de campos que se quiere agregar el ítem de trabajo de la bandeja. |
Ejemplo | <property name="fields">
<map>
<entry>
<key><value>F_INGRESO</value></key>
<value>$F{'yyyy-MM-dd'}</value>
</entry>
</map>
</property> |
maskTool
Tipo | ThubanMaskTool |
---|---|
Requerido | No |
Descripción | Esta es una propiedad que referencia otro Bean de utilidades del docintro que permite reemplazar valores de campos o asignar valores a campos en función de Máscaras. Por ejemplo, si se define una campo:
Esa máscara será reemplazada por la fecha del momento con ese formato por el maskTool. |
Particularidades de funcionamiento
Esta bandeja no utiliza la carpeta outputFolder, aunque se pueda indicar la ignora. Esta bandeja no exporta documentos a ninguna carpeta por sí sola, necesita de un procesador que se encargue de ello. Por ejemplo: MailExportProcessor, éste será quién deposite en una carpeta los correos electrónicos y adjuntos en una carpeta.
Existe solo un MarshallingManager que se puede utilizar con este tipo de bandeja, el MailMarshallingManager
Los correos electrónicos que hayan sido procesados correctamente, son eliminados de la casilla de correo automáticamente. Esto lo hace siempre, con lo cuál se aconseja generar un backup previo en la casilla, por ejemplo mediante reglas de correo.
Ejemplos de Configuración
Básica
<bean id="emailTray" class="com.latintech.thuban.docintro.tray.MailTray">
<property name="host" value="mi.servidor.com"/>
<property name="username" value="prueba@servidor.com"/>
<property name="password" value="miclave"/>
<property name="inputMailFolder" value="INBOX"/>
<property name="errorFolder" value="C:\Docintro\error"/>
<property name="className" value=""/>
<property name="internalName" value=""/>
<property name="count" value="5"/>
<property name="fields">
<map>
</map>
</property>
<property name="maskTool" ref="maskTool"/>
<property name="marshallingManager" ref="mailMarshallingManager"/>
<property name="name" value="emailTray"/>
</bean>
Básica IMAP
<bean id="emailTray" class="com.latintech.thuban.docintro.tray.MailTray">
<property name="host" value="mi.imapserver.com"/>
<property name="protocol" value="IMAP"/>
<property name="username" value="micuenta@imapserver.com"/>
<property name="password" value="miclave"/>
<property name="inputMailFolder" value="INBOX"/>
<property name="errorFolder" value="C:\Docintro\error"/>
<property name="className" value=""/>
<property name="internalName" value=""/>
<property name="count" value="1"/>
<property name="maskTool" ref="maskTool"/>
<property name="marshallingManager" ref="mailMarshallingManager1"/>
<property name="name" value="emailTray"/>
</bean>
POP3s
<bean id="emailTray" class="com.latintech.thuban.docintro.tray.MailTray">
<property name="host" value="mi.pop3server.com"/>
<property name="protocol" value="pop3s"/>
<property name="username" value="usuario@pop3server.com"/>
<property name="password" value="miclave"/>
<property name="inputMailFolder" value="INBOX"/>
<property name="errorFolder" value="C:\Docintro\error"/>
<property name="className" value=""/>
<property name="internalName" value=""/>
<property name="count" value="1"/>
<property name="maskTool" ref="maskTool"/>
<property name="marshallingManager" ref="mailMarshallingManager"/>
<property name="name" value="emailTray"/>
<property name="advanceSessionProps">
<map>
<entry key="mail.pop3.socketFactory.class" value="javax.net.ssl.SSLSocketFactory"/>
</map>
</property>
</bean>
IMAPs
<bean id="emailTray" class="com.latintech.thuban.docintro.tray.MailTray">
<property name="host" value="mi.imapserver.com"/>
<property name="protocol" value="imaps"/>
<property name="username" value="usuario@imapserver.com"/>
<property name="password" value="miclave"/>
<property name="inputMailFolder" value="INBOX"/>
<property name="errorFolder" value="C:\Docintro\error"/>
<property name="className" value=""/>
<property name="internalName" value=""/>
<property name="count" value="1"/>
<property name="maskTool" ref="maskTool"/>
<property name="marshallingManager" ref="mailMarshallingManager1"/>
<property name="name" value="emailTray"/>
<property name="advanceSessionProps">
<map>
<entry key="mail.imap.socketFactory.class" value="javax.net.ssl.SSLSocketFactory"/>
</map>
</property>
</bean>
Office 365
<bean id="emailTray" class="com.latintech.thuban.docintro.tray.MailTray">
<property name="host" value="outlook.office365.com"/>
<property name="protocol" value="POP3"/>
<property name="port" value="995"/>
<property name="username" value="usuario@o365.com"/>
<property name="password" value="miclave"/>
<property name="inputMailFolder" value="INBOX"/>
<property name="errorFolder" value="C:\Docintro\error"/>
<property name="className" value=""/>
<property name="internalName" value=""/>
<property name="count" value="1"/>
<property name="maskTool" ref="maskTool"/>
<property name="marshallingManager" ref="mailMarshallingManager"/>
<property name="name" value="emailTray"/>
<property name="advanceSessionProps">
<map>
<entry key="mail.pop3.socketFactory.class" value="javax.net.ssl.SSLSocketFactory"/>
<entry key="mail.pop3.starttls.enable" value="true"/>
<entry key="mail.pop3.starttls.required" value="true"/>
<entry key="mail.pop3.socketFactory.fallback" value="false"/>
</map>
</property>
</bean>
Credenciales externalizadas
<bean id="emailTray" class="com.latintech.thuban.docintro.tray.MailTray">
<property name="host" value="mi.servidor.com"/>
<property name="isExternalized" value="true"/>
<property name="username" value="miservidor.username"/>
<property name="password" value="miservidor.password"/>
<property name="inputMailFolder" value="INBOX"/>
<property name="errorFolder" value="C:\Docintro\error"/>
<property name="className" value=""/>
<property name="internalName" value=""/>
<property name="count" value="5"/>
<property name="fields">
<map>
</map>
</property>
<property name="maskTool" ref="maskTool"/>
<property name="marshallingManager" ref="mailMarshallingManager"/>
<property name="name" value="emailTray"/>
</bean>