Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package br.eti.danielcamargo.backend.common.core.business; import java.io.StringWriter; import java.util.HashMap; import java.util.Map; import javax.mail.internet.MimeMessage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javax.mail.MessagingException; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.mail.MailException; import org.springframework.stereotype.Service; @Service public class MailService { static final Logger _log = Logger.getLogger(MailService.class.getSimpleName()); @Autowired @Qualifier("mailSender") private JavaMailSender mailSender; @Autowired private Configuration freemarkerMailConfiguration; public void enviarEmail(String baseTemplatePath, String template, Map<String, Object> params, final String subject, final String... to) { try { StringBuilder textBuilder = new StringBuilder(); Template temp = freemarkerMailConfiguration.getTemplate(baseTemplatePath + "/cabecalho-email.html"); StringWriter str = new StringWriter(); temp.process(params, str); final String cabecalho = str.toString(); textBuilder.append(cabecalho); //para montar o email template = baseTemplatePath + "/" + template; temp = freemarkerMailConfiguration.getTemplate(template); str = new StringWriter(); temp.process(params, str); String text = str.toString(); textBuilder.append(text); temp = freemarkerMailConfiguration.getTemplate(baseTemplatePath + "/rodape-email.html"); str = new StringWriter(); // parametros rodapeh Map<String, Object> paramsRodape = new HashMap<>(); temp.process(paramsRodape, str); text = str.toString(); textBuilder.append(text); // enviar msg MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); helper.setSubject(subject); helper.setFrom("danielsudpr@gmail.com"); helper.setText(textBuilder.toString(), true); //helper.addInline("logo", new ClassPathResource("/hsnpts/logo.png")); helper.setTo(to); boolean disabled = true; if (disabled) { _log.log(Level.INFO, textBuilder.toString()); return; } mailSender.send(mimeMessage); } catch (TemplateException | IOException | MessagingException | MailException e) { throw new RuntimeException(e); } } }