使用Spring4和Thymeleaf发送邮件

时间:2017-03-15 18:12:58

标签: html spring thymeleaf

我正在尝试使用Spring 4和Thymeleaf模板发送简单的HTML邮件。在我的java类中,我有:

public void sendMail() throws Exception {
    if (!flag){
        throw new IOException("Mail Sending Forbiden");
    }

    // Prepare the evaluation context
    final Context ctx = new Context();
    List<FacebookFeed> list = getFeedsList();
    ctx.setVariable("message", "message");
    //Prepare message using a Spring helper
    final MimeMessage mimeMessage = this.mailSender.createMimeMessage();
    final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8");
    message.setSubject("Example HTML email (simple)");
    message.setTo(recipient);

    // Create the HTML body using Thymeleaf
    final String htmlContent = this.htmlTemplateEngine.process("/static/test", ctx);
    System.out.println(htmlContent);
    message.setText(htmlContent, true /* isHtml */);

    // Send email
    this.mailSender.send(mimeMessage);
}

我在html页面中使用了thymeleaf:text:

<span th:text="${message}"></span>

但它不起作用。我在模板中获得的所有内容都是相同的.html页面。 th:text="${message}" - 没有工作

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我的错误是:

        templateResolver.setTemplateMode(TemplateMode.TEXT);

而不是

        templateResolver.setTemplateMode(TemplateMode.HTML);