HowTo configurar el Servicio de Mail de JBoss
El servicio de mailer provisto por JBoss se configura a travƩs del archivo
<O3>/jboss/server/default/deploy/mail-service.xml
A continuaciĆ³n se incluye un ejemplo de dicho archivo
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE server> <!-- $Id: mail-service.xml 31716 2005-06-01 06:20:43Z starksm $ --> <server> <!-- ==================================================================== --> <!-- Mail Connection Factory --> <!-- ==================================================================== --> <mbean code="org.jboss.mail.MailService" name="jboss:service=Mail"> <attribute name="JNDIName">java:/Mail</attribute> <attribute name="User">nobody</attribute> <attribute name="Password">password</attribute> <attribute name="Configuration"> <!-- Test --> <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.nosuchhost.nosuchdomain.com"/> <!-- Change to the SMTP gateway server --> <property name="mail.smtp.host" value="smtp.nosuchhost.nosuchdomain.com"/> <!-- Change to the address mail will be from --> <property name="mail.from" value="nobody@nosuchhost.nosuchdomain.com"/> <!-- Enable debugging output from the javamail classes --> <property name="mail.debug" value="false"/> </configuration> <depends>jboss:service=Naming</depends> </attribute> </mbean> </server>
En este archivo tĆpicamente es necesario configurar varios parĆ”metros como son:
- Usuario y Password
- Nombre o direcciĆ³n IP del servidor SMTP (servidor de correo)
- Cuenta de correo que se utilizarĆ” como remitente de los correos enviados por O3
Usuario y Password
El nombre de usuario y password para acceder al servidor de mail se configura en la siguiente secciĆ³n
<attribute name="User">nobody</attribute> <attribute name="Password">password</attribute>
En estos atributos es necesario indicarĀ como User el nombre de usuario del correo.
Por ejemplo, si la casilla desde la cual se mandarƔn correos es o3server@mi_dominio.com, el User serƔ o3server
De forma similar, como Password debe indicarse la clave de acceso al SMTP/POP3 en caso de ser necesaria
De esta forma el XML quedarĆa similar a esto:
<attribute name="User">o3server</attribute> <attribute name="Password">mi_password</attribute>
Nombre o IP del servidor de correo
El nombre o IP del servidor de correo se indica en la secciĆ³n siguiente:
<!-- Change to the SMTP gateway server --> <property name="mail.smtp.host" value="smtp.nosuchhost.nosuchdomain.com"/>
Advertencia
Es necesario que la mƔquina donde estƔ instaldo el O3 server pueda tener acceso al servidor SMTP
RecomendaciĆ³n
Hacer un telnet al puerto 25 de la IP/DNS del servidor de correos de modo de estar seguros que se encuentra accesible.
Windows (desde cmd)
telnet
open ip puerto
Cuenta remitente
Finalmente resta indicar una cuenta de correo vƔlida en el servidor de correos que se utilizarƔ como remitente para los mails enviados.
Esta cuenta se indica en la sigiuente secciĆ³n:
<!-- Change to the address mail will be from --> <property name="mail.from" value="nobody@nosuchhost.nosuchdomain.com"/>
En el ejemplo esta secciĆ³n quedarĆa de la siguiente forma:
<!-- Change to the address mail will be from --> <property name="mail.from" value="o3server@mi_dominio.com"/>
Reinicio del server
No es necesario reiniciar el jboss para que estos cambios tengan efecto
ConfiguraciĆ³n con autentificaciĆ³n de usuario
En el caso de necesitar autentificaciĆ³n de usuario, especialmente si necesitamos enviar a direcciones de correo electrĆ³nicas que no son del mismo dominio que el servidor de correos, se deberĆ”n agregar dos lĆneas antes de </configuration>
<property name="mail.smtp.starttls.enable" value="true" /> <property name="mail.smtp.auth" value="true"/>
ConfiguraciĆ³n para los mails de actualizaciĆ³n de cubos cuando requiere autentificaciĆ³n de usuario
Ver siguienteĀ HowTo: Envio de mail con servidor SMTP que requiere TLSĀ
ConfiguraciĆ³n para enviar vĆa SMTP Seguro
Cuando debamos utilizar un servidor de correos via SMTP Seguro con autentificaciĆ³n deberemos realizar algunos cambios en el archivo mail-service.xml (se utiliza un ejemplo utilizando el servidor SMTP Seguro de gmail.com).
<?xml version="1.0" encoding="UTF-8"?> <!-- $Id: mail-service.xml 62349 2007-04-15 16:48:15Z dimitris@jboss.org $ --> <server> <!-- ==================================================================== --> <!-- Mail Connection Factory --> <!-- ==================================================================== --> <mbean code="org.jboss.mail.MailService" name="jboss:service=Mail"> <attribute name="JNDIName">java:/Mail</attribute> <attribute name="User">USUARIO</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> </server>