Aquí un ejemplo para enviar mails con Spring:
Requiere spring.jar, mail.jar y activation.jar
Primero agregar los atributos del mail en el contexto de spring:
Colocamos el servidor de correo en "value" donde el name="host".
Creamos nuestra interface ServicioMail :
Y su implementación ServicioMailImpl.java :
Y eso es todo.... ¿sencillo no?
También se puede settear los atributos del SimpleMailMessage como propiedad del bean (otra manera):
Requiere spring.jar, mail.jar y activation.jar
Primero agregar los atributos del mail en el contexto de spring:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="mailhost.4cuatros.com"/>
</bean>
<bean id="templateMessage" class="org.springframework.mail.SimpleMailMessage" />
<bean id="servicioMailUploadFile" class="com.java.4cuatros.servicios.impl.ServicioMailImpl">
<property name="mailSender" ref="mailSender"/>
<property name="templateMessage" ref="templateMessage"/>
</bean>
Colocamos el servidor de correo en "value" donde el name="host".
Creamos nuestra interface ServicioMail :
public interface ServicioMail{
public void sendMail(String userMail, String subject, String mensaje, String[] mailUsuariosForCC, String mailUsuariosForTo);
{
Y su implementación ServicioMailImpl.java :
public class ServicioMailImpl implements ServicioMail {
protected final Log log = LogFactory.getLog(getClass());
private MailSender mailSender;
private SimpleMailMessage templateMessage;
public MailSender getMailSender() {
return mailSender;
}
public void setMailSender(MailSender mailSender) {
this.mailSender = mailSender;
}
public SimpleMailMessage getTemplateMessage() {
return templateMessage;
}
public void setTemplateMessage(SimpleMailMessage templateMessage){
this.templateMessage = templateMessage;
}
public void sendMail(String userMail, String subject, String mensaje, String[]mailUsuariosForCC, String
mailUsuariosForTo){
SimpleMailMessage msg = new SimpleMailMessage(this.templateMessage);
// mail del usuario que envía
msg.setFrom(userMail);
// mails de los destinatarios
msg.setTo(mailUsuariosForTo);
// mail de los destinatarios CC (con copia)
msg.setCc(mailUsuariosForCC);
// mensaje
msg.setText(mensaje);
// asunto
msg.setSubject(subject);
try{
mailSender.send(msg);
}catch(MailException ex) {
log.debug("Error al enviar mail : " + ex.getMessage());
return;
}
log.info(" envio de mail exitoso !!"); }
Y eso es todo.... ¿sencillo no?
También se puede settear los atributos del SimpleMailMessage como propiedad del bean (otra manera):
<bean id="templateMessage" class="org.springframework.mail.SimpleMailMessage">
<property name="from" value="christian.komiya@4cuatros.com"/>
<property name="subject" value="Hola mundo"/>
....
...
</bean>
Comentarios