使用非动态模板发送电子邮件

时间:2020-04-29 08:55:57

标签: java spring email

当前,我正在使用Free Marker Template进行动态绑定,这意味着我正在从数据库中检索用户名并插入到模板中,但是,现在我不需要动态绑定,而是想引用Html文件来捕获一个现成的模板。

我遍历了一些教程,每个人都在指ThymeLeaf或FreeMarker,但是如果可能的话,我不想依赖任何依赖。

如下所示,我只是在freemarker构造函数中插入null以避免动态绑定

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);
        }
    }

0 个答案:

没有答案