Envie e-mails de modelo HTML sem usar Spring
-
20-12-2019 - |
Pergunta
Eu tenho um aplicativo da web que foi criado apenas usando servlets java.Nenhuma mola é usada.O front-end é desenvolvido em HTML e Javascript.Quero enviar e-mail do aplicativo.Eu tenho os arquivos HTML dos e-mails.Mas existem dois ou três parâmetros que devem ser alterados no HTML usando variáveis.Existe alguma maneira melhor de fazer isso sem usar o Spring
Eu vi este trecho de código se você usar Spring
MimeMessagePreparator preparator = new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws Exception {
MimeMessageHelper message = new MimeMessageHelper(mimeMessage,true,"UTF-8");
message.setTo(to);
message.setFrom(from);
message.setSubject(subject);
String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, template, model);
message.setText(text, true);
}
};
mailSender.send(preparator);
org.springframework.mail.javamail.MimeMessagePreparator
String org.springframework.ui.velocity.VelocityEngineUtils.mergeTemplateIntoString (VelocityEngine speedEngine, String templateLocation, modelo de mapa) lança VelocityException
Solução
Uma solução é usar uma biblioteca de modelos como Folha de tomilho.
Thymeleaf permite que você escreva HTML no qual você fornece atributos e espaços reservados específicos ao Thymeleaf.Ao processar o HTML, o Thymeleaf renderiza o HTML atribuindo um valor a esses espaços reservados e gerando o HTML correto.
Outras dicas
O modelo HTML é o problema do Velocity, não relacionado ao Spring.Spring ajuda a simplificar o envio de codificação de e-mail, mas se você estiver usando um modelo HTML para e-mail, deve ser uma estrutura de modelo, como Velocity, FreeMark