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>