El servicio de email de JBoss es necesario en O3 para:
- Poder enviar mails de reglas (un tipo de acción posible de una regla es un email)
- Poder enviar reportes por Report Cast (programación de reportes en O3 Server Administrator)
NOTAS
- Para aumentar la información de debug en el log del server del servicio de email en JBoss, en el archivo o3bi.xml se debe agregar en la línea
<mail-session jndi-name="java:jboss/mail/Default" ..... > por <mail-session jndi-name="java:jboss/mail/Default" debug="true" .....>
- Si se requiere mayor información de debug y además generar un archivo de log aparte para monitorear los acontecimientos de envío de reglas por correo electrónico, seguir las instrucciones que se indican en este otro wiki: Monitorear problemas en los envíos de reglas por correo electrónico
Se presentan distintas opciones o casos de uso:
- Configuración para enviar vía SMTP
- Configuración para enviar vía SMTP seguro (SSL)
- Configuración si el servidor requiere autenticación.
Configuración para envío vía TLS.
Configuración para enviar vía SMTP
El servicio de mailer provisto por JBoss se configura con los siguientes archivos:
- <O3>/jboss/standalone/configuration/o3bi.xml y
- <O3>/O3Server_custom.properties (Este archivo no viene con la instalación, se debe crear)
<O3>/jboss/standalone/configuration/o3bi.xml
En este archivo se definen las siguientes propiedades (o3bi.xml debe modificarse en dos lugares)
Buscar <subsystem xmlns="urn:jboss:domain:mail:1.0"> <mail-session jndi-name="java:jboss/mail/Default"> <smtp-server outbound-socket-binding-ref="mail-smtp"> </mail-session> </subsystem> Y modificar por <subsystem xmlns="urn:jboss:domain:mail:1.0"> <mail-session jndi-name="java:jboss/mail/Default" from="casilla de correo que envía el mail" > <smtp-server outbound-socket-binding-ref="mail-smtp"> <login name="usuario" password="contraseña"/> </smtp-server> </mail-session> </subsystem>
Buscar <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> Y modificar el valor de localhost por la ip del servidor smtp En caso que no se encuentren estas líneas Se busca la etiqueta <socket-binding-group name="standard-sockets" default-interface="global" port-offset="${jboss.socket.binding.port-offset:0}"> </socket-binding-group> Y dentro de estas se define <outbound-socket-binding name="mail-smtp"> <remote-destination host="ip del servidor smtp" port="25"/> </outbound-socket-binding>
<O3>/O3Server_custom.properties
Editar este archivo, o generarlo en caso de que no exista, y agregar las siguientes líneas de propiedades.
ideasoft.mail.j2eeSession.enabled = true ideasoft.mail.j2eeSession.jndiName=java:jboss/mail/Default ideasoft.mail.defaultBCCRecipient=user@gmail.com <!--Si requiere que lleguen todas las reglas a alguna casilla de correos, se agrega esta propiedad con los datos correspondientes-->
Configuración para enviar vía SMTP Seguro
Cuando debamos utilizar un servidor de correos vía SMTP Seguro con autentificación los cambios a realizar
<O3>/jboss/standalone/configuration/o3bi.xml
Realizar los siguientes cambios en el archivo o3bi.xml
Buscar <subsystem xmlns="urn:jboss:domain:mail:1.0"> <mail-session jndi-name="java:jboss/mail/Default"> <smtp-server outbound-socket-binding-ref="mail-smtp"/> </mail-session> </subsystem> Y modificar por <subsystem xmlns="urn:jboss:domain:mail:1.0"> <mail-session jndi-name="java:jboss/mail/Default"> <smtp-server ssl="true" outbound-socket-binding-ref="mail-smtp"> <login name="usuario" password="contraseña"/> </smtp-server> </mail-session> </subsystem>
Buscar <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> Modificar el valor de localhost por la ip del servidor smtp y el puerto 25 por el 465. En caso que no se encuentren estas líneas Se busca la etiqueta <socket-binding-group name="standard-sockets" default-interface="global" port-offset="${jboss.socket.binding.port-offset:0}"> </socket-binding-group> Y dentro de estas se define <outbound-socket-binding name="mail-smtp"> <remote-destination host="ip del servidor smtp" port="465"/> </outbound-socket-binding>
<O3>/O3Server_custom.properties
Editar este archivo, o generarlo en caso de que no exista, y agregar las siguientes líneas de propiedades.
ideasoft.mail.j2eeSession.enabled = true ideasoft.mail.j2eeSession.jndiName=java:jboss/mail/Default mail.useSystemProp=true ideasoft.mail.defaultBCCRecipient=user@gmail.com <!--Si requiere que lleguen todas las reglas a alguna casilla de correos, se agrega esta propiedad con los datos correspondientes-->
Si el servidor de correo requiere autenticación:
Si necesitamos enviar a direcciones de correo electrónicas que no son del mismo dominio que el servidor de correos y se requiere autentificación de usuario, se deberán editar el smtp-server agregándole "login"
<smtp-server ssl="true" outbound-socket-binding-ref="smtp-example"> <login name="foo@example.com" password="12345"/> </smtp-server>
Configuración para enviar vía TLS (ssmtp)
Cuando debamos utilizar un servidor de correos vía SSMTP TLS con autentificación los cambios a realizar
<O3>/jboss/standalone/configuration/o3bi.xml
Realizar los siguientes cambios en el archivo o3bi.xml
Buscar <subsystem xmlns="urn:jboss:domain:mail:1.0"> <mail-session jndi-name="java:jboss/mail/Default"> <smtp-server outbound-socket-binding-ref="mail-smtp"/> </mail-session> </subsystem> Y modificar por <subsystem xmlns="urn:jboss:domain:mail:1.0"> <mail-session jndi-name="java:jboss/mail/Default"> <smtp-server ssl="false" tls="true" outbound-socket-binding-ref="mail-smtp"> <login name="usuario" password="contraseña"/> </smtp-server> </mail-session> </subsystem>
Buscar <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> Modificar el valor de localhost por la ip del servidor smtp y el puerto 25 por el 587. En caso que no se encuentren estas líneas Se busca la etiqueta <socket-binding-group name="standard-sockets" default-interface="global" port-offset="${jboss.socket.binding.port-offset:0}"> </socket-binding-group> Y dentro de estas se define <outbound-socket-binding name="mail-smtp"> <remote-destination host="ip del servidor smtp" port="587"/> </outbound-socket-binding>
Recibo de Correos Electrónicos por Cliente MS-Oultook (MS_Exchange)
Aquellos usuarios que utilicen MS-Outlook como cliente de correo electrónico van a recibir el correo electrónico con inconvenientes de visualización de la Vista Grilla. Este inconveniente es por eliminación por parte del Servidor de MS-Exchange, de algunos tags que forman la vista grilla en el cuerpo del mail.
A partir de la versión de O3BI 7.2.3 está la posibilidad de generar una imagen a partir de la Vista Grilla, para esto seguir el procedimiento indicado en el siguiente documento.
Usuarios de GMAIL
Los usuarios de gmail deberán activar el acceso a aplicaciones no seguras para que GMAIL permita la conexión.