Diferencia entre revisiones de «Enviar Mails Con Spring»

De Dos Ideas.
Saltar a: navegación, buscar
(Página nueva: Entre las muchas cosas que nos provee Spring Framework también esta una librería para el envió de mail. Esta se encuentra en el paquete ''org.springframework.mail'' Para el en...)
 
Línea 12: Línea 12:
  
 
===Archivo application-mail.xml===
 
===Archivo application-mail.xml===
<pre>
+
<code xml>
 
  <beans>
 
  <beans>
 
     <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
 
     <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
Línea 28: Línea 28:
 
     </bean>
 
     </bean>
 
  </beans>
 
  </beans>
</pre>
+
</code>
  
 
En este archivo de configuración lo que hacemos es:
 
En este archivo de configuración lo que hacemos es:
Línea 39: Línea 39:
  
 
Ahora lo único que nos queda es usar nuestro Dao.
 
Ahora lo único que nos queda es usar nuestro Dao.
<pre>
+
<code java>
 
  public class MailDaoImpl implements MailDao {
 
  public class MailDaoImpl implements MailDao {
 
     private MailSender mailSender;
 
     private MailSender mailSender;
Línea 56: Línea 56:
 
     }
 
     }
 
  }
 
  }
</pre>
+
</code>
  
 
==Ver también==
 
==Ver también==
 
* [http://www.springframework.org/docs/reference/mail.html Manual de Spring, capitulo de Mail]
 
* [http://www.springframework.org/docs/reference/mail.html Manual de Spring, capitulo de Mail]

Revisión del 19:01 17 ago 2008

Entre las muchas cosas que nos provee Spring Framework también esta una librería para el envió de mail. Esta se encuentra en el paquete org.springframework.mail

Para el envió de mail usaremos la interface MailSender y la clase SimpleMailMessage.

MailSender se encargara de hacer el send del mensaje con la ayuda del servidor que le hayamos configurado.

SimpleMailMessage contendra todo lo que tenga que ver con el mail (from, to , texto, subject..)

Ejemplo

Lo primero que haremos es crear un archivo de configuración para el mail.

Archivo application-mail.xml

<beans>
   <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
       <property name="host" value="smtp.dosideas.com"/>
   </bean>
   <bean id="templateMessage" class="org.springframework.mail.SimpleMailMessage">
       <property name="from" value="zim@gmail.com"/>
       <property name="subject" value="Dos Ideas: Un mail de prueba"/>
   </bean>
   <bean id="dao.EnvioMailDAO" class="com.dosideas.dao.sender.MailDaoImpl">
       <property name="mailSender" ref="mailSender"/>
       <property name="templateMessage" ref="templateMessage"/>
   </bean>
</beans>

En este archivo de configuración lo que hacemos es:

  1. Setear al mailSender el host ("smtp.dosideas.com"),
  2. Setear al templateMessage el from y el subject. Esto es opcional.
  3. Agregar al dao el mailSender y templateMessage como atributos para que cuando usemos el dao estos vengan cargados con los valores que le configuramos.

La clase MailDaoImpl

Ahora lo único que nos queda es usar nuestro Dao.

public class MailDaoImpl implements MailDao {
    private MailSender mailSender;
    private SimpleMailMessage templateMessage;
    //getters y setters...
    public void enviarMail(String textoMensaje,String destinatario) {
        //creamos un SimpleMailMessage apartir del que configuramos.
        SimpleMailMessage msg = new !SimpleMailMessage(this.templateMessage);
        msg.setText(textoMensaje );
        msg.setTo(destinatario);
        this.mailSender.send(msg);
    }
}

Ver también