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
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 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>