Este wiki describe uno de los mecanismos posibles para envío de emails desde O3, que es haciendo uso del mailer de JBoss.
Existe otro mecanismo que no hace uso de esta funcionalidad, y requiere configuración por fuera de O3: la definición de servidor de correo, casilla que envía y otros parámetros necesarios. Este mecanismo no está comprendido en el alcance de este wiki. Si su instalación de O3 no admite la modificación del archivo <O3>/jboss/standalone/configuration/o3bi.xml, deberá optar por esta forma de configuración. Solicite soporte en Ideasoft.
El servicio de email de JBoss es necesario en O3 para:
- Enviar mails de reglas (un tipo de acción posible de una regla es un email)
- Enviar reportes por Report Cast (programación de reportes en O3 Server Administrator)
Existen 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 <!--Esta propiedad no es requerida. Se debe usar si se quiere que todos los mails enviados desde O3 se envíen CC a esta cuenta de correo-->
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 <!--Esta propiedad no es requerida. Se debe usar si se quiere que todos los mails enviados desde O3 se envíen CC a esta cuenta de correo-->
Si el servidor de correo requiere autenticación:
Se debe 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>
DEBUG
- 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
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.