В настоящее время я использую Free Marker Template для динамического связывания c, что означает, что я извлекаю имя пользователя из БД и вставляю в шаблон, однако теперь мне не нужно динамическое связывание c, и я хотел бы обратиться к Html файл для захвата только готового шаблона.
Я прошел некоторые уроки, и все ссылались на ThymeLeaf или FreeMarker, однако я не хочу зависеть от какой-либо зависимости, если это возможно.
Как показано ниже, я просто вставляю null в конструктор freemarker, чтобы избежать динамического c связывания
public void sendConfirmationToCooperateEmail() {
try {
ConfirmationEmail email = new ConfirmationEmail(authUser.getUsername());
MimeMessage mimeMessage = emailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_MIXED_RELATED,
StandardCharsets.UTF_8.name());
Template template = configuration.getTemplate("confirmation-template.ftl");
String html = FreeMarkerTemplateUtils.processTemplateIntoString(template,null);
helper.setTo(email.getTo());
helper.setSubject(email.getSubject());
helper.setFrom(email.getFrom());
helper.setText(html, true);
helper.addInline("hr.png", new ClassPathResource("templates/images/hr.png"));
emailSender.send(mimeMessage);
} catch (MessagingException | IOException | TemplateException e) {
throw new EmailNotSentException("Email could not be sent", e);
}
}