Configuración de JBoss Mail
OpenKM es una aplicación J2EE desplegados en el servidor de aplicaciones JBoss. Algunos parámetros de configuración por defecto que se ajustan a las necesidades comunes de los usuarios, pero los demás depende de la configuración específica del usuario.
Para problemas específicos de JBoss, visite http://jboss.org/community/docs/DOC-10376. |
A veces en OpenKM se envian correos o notificaciones a los usuarios (si se ha suscrito a un documento o una carpeta, y alguno de ellos sufren un cambio, por ejemplo) debe comprobar que la configuración del correo es correcta. Para verificar se edita este archivo $JBOSS_HOME/server/default/deploy/mail-service.xml:
$ vim $JBOSS_HOME/server/default/deploy/mail-service.xml
Observará algo parecido a lo siguiente:
<mbean code="org.jboss.mail.MailService" name="jboss:service=OpenKM">
<attribute name="JNDIName">java:/mail/OpenKM</attribute>
<attribute name="User">nobody</attribute>
<attribute name="Password">password</attribute>
<attribute name="Configuration">
<!-- A test configuration -->
<configuration>
<!-- Change to your mail server prototocol -->
<property name="mail.store.protocol" value="pop3"/>
<property name="mail.transport.protocol" value="smtp"/>
<!-- Change to the user who will receive mail -->
<property name="mail.user" value="nobody"/>
<!-- Change to the mail server -->
<property name="mail.pop3.host" value="pop3.your-domain.com "/>
<!-- Change to the SMTP gateway server -->
<property name="mail.smtp.host" value="smtp.your-domain.com "/>
<!-- The mail server port -->
<property name="mail.smtp.port" value="25"/>
<!-- Change to the address mail will be from -->
<property name="mail.from" value="noreply@your-domain.com"/>
<!-- Enable debugging output from the javamail classes -->
<property name="mail.debug" value="false"/>
</configuration>
</attribute>
<depends>jboss:service=Naming</depends>
</mbean>
Normalmente solo debe configurar los parámetros siguientes:
- mail.smtp.host: este es el host donde se encuentra el servidor de correo. Puede ser localhost si usted tiene un servidor de correo local instalado (al igual que Postfix).
- mail.from: todos los correos enviados por OpenKM seran a nombre de este e-mail. Puede utilizar la siguiente dirección noreply@your-domain.com.
Pero todo depende de la configuración que usted desee. Si se presenta algún incoveniente, cambiar el parámetro mail.debug a true y revisar el log del JBoss.
$ tail -f $JBOSS_HOME/server/default/log/server.log
Para mayor información, revise http://community.jboss.org/wiki/JavaMail.
Configuración por Autentificación SMTP
Cuando se quiere utilizar un servidor SMTP con autentificación debemos hacer algunos cambios en el archivo mail-service.xml (utilice un ejemplo del servidor SMTP gmail.com).
<mbean code="org.jboss.mail.MailService" name="jboss:service=OpenKM">
<attribute name="JNDIName">java:/mail/OpenKM</attribute>
<attribute name="User">USUARIO@gmail.com</attribute>
<attribute name="Password">PASSWORD</attribute>
<attribute name="Configuration">
<!-- A test configuration -->
<configuration>
<!-- Change to your mail server prototocol -->
<property name="mail.store.protocol" value="pop3"/>
<property name="mail.transport.protocol" value="smtp"/>
<!-- Change to the user who will receive mail -->
<property name="mail.user" value="USUARIO@gmail.com"/>
<!-- Change to the mail server -->
<property name="mail.pop3.host" value="pop.gmail.com"/>
<!-- Change to the SMTP gateway server -->
<property name="mail.smtp.host" value="smtp.gmail.com"/>
<property name="mail.smtp.starttls.enable" value="true" />
<property name="mail.smtp.socketFactory.class" value="javax.net.ssl.SSLSocketFactory" />
<!-- The mail server port -->
<property name="mail.smtp.port" value="465"/>
<property name="mail.smtp.socketFactory.port" value="465" />
<!-- Change to the address mail will be from -->
<property name="mail.from" value="USUARIO@gmail.com"/>
<property name="mail.smtp.user" value="USUARIO@gmail.com"/>
<property name="mail.smtp.password" value="PASSWORD"/>
<property name="mail.smtp.auth" value="true"/>
<!-- Enable debugging output from the javamail classes -->
<property name="mail.debug" value="false"/>
</configuration>
</attribute>
<depends>jboss:service=Naming</depends>
</mbean>
Agregar un certificado PKI
Algunos servidores de correo necesitan que les sean instalados certificados PKI en el servidor, si no lo tiene instalado observara un error como este:
ERROR [STDERR] javax.mail.MessagingException: Exception reading response; nested exception is: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
En este caso debe instalar el certificado.
- Descargue el archivo File:InstallCert.java
- Ejecute la aplicación
java InstallCert serverName
- Seleccione la opción '1', se genera un archivo que se llama jssecacerts
- Sobreescriba jssecacerts en /usr/lib/jvm/java-6-sun/jre/lib/security/cacerts (la ruta dependera de su SO y versión del Java JDK)
- Reinicie el JBoss para que los cambios se guarden
Para mayor información de la instalación del certificado, revisar:
- http://blogs.oracle.com/gc/entry/unable_to_find_valid_certification
- http://www.grim.se/guide/jre-cert
Para mayor informacion: