Package br.com.buyFast.service.serviceImpl

Source Code of br.com.buyFast.service.serviceImpl.EmailServiceImpl

package br.com.buyFast.service.serviceImpl;

import javax.mail.internet.MimeMessage;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.mail.MailException;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.mail.javamail.MimeMessagePreparator;

import br.com.buyFast.service.EmailService;
import br.com.buyFast.service.ServiceException;

/**
* Implementa a classe responsável pelo envio de e-mail.
*/
public class EmailServiceImpl implements EmailService {

  /**
   * Responsável pela apresentação do log na aplicação.
   */
  private static final Log logger = LogFactory.getLog(EmailServiceImpl.class);
 
  /**
   * @see JavaMailSender
   */
  private JavaMailSender enviarEmail;
 
  @Override
  public boolean send(final String to, final String from, final String subject, final String text)
      throws ServiceException {
   
    logger.info("Preparando envio de e-mail...");
   
    MimeMessagePreparator preparator = new MimeMessagePreparator() {
      public void prepare(MimeMessage mimeMessage) throws Exception {
        MimeMessageHelper MMhelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
        MMhelper.setTo(to);
        MMhelper.setFrom(from);
        MMhelper.setSubject(subject);
        MMhelper.setText(text, true);
      }
    };
   
    try {
      logger.info("Enviando e-mail...");
      this.enviarEmail.send(preparator);
    } catch (MailException ex) {
      String error = "Erro ao enviar e-mail.";
      logger.error(error, ex);
      throw new ServiceException(error, ex);
    }
   
    logger.info("E-mail enviado com sucesso.");
    return true;
  }

  /**
   * Obter JavaMailSender.
   * @return {@link JavaMailSender}
   */
  public JavaMailSender getEnviarEmail() {
    return enviarEmail;
  }

  /**
   * Ajustar JavaMailSender.
   * @param enviarEmail {@link JavaMailSender}
   */
  public void setEnviarEmail(JavaMailSender enviarEmail) {
    this.enviarEmail = enviarEmail;
  }

}
TOP

Related Classes of br.com.buyFast.service.serviceImpl.EmailServiceImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.