当前位置: 首页 > 知识库问答 >
问题:

使用Spring4和Thymeleaf的HTML邮件

邓丰
2023-03-14
 // Prepare the evaluation context
 final Context ctx = new Context(locale);
 ctx.setVariable("token", token);
 ctx.setVariable("serverUrl", serverUrl);

 //process template
 final String htmlContent = templateEngine.process("resetPassword", ctx);
 templateEngine.addTemplateResolver(emailTemplateResolver);

 // Prepare message using a Spring helper
 final MimeMessage mimeMessage = this.javaMailSender.createMimeMessage();
 MimeMessageHelper mailMessage;
 try {
    mailMessage = new MimeMessageHelper(mimeMessage, true, "UTF-8");
    mailMessage.setTo(email);
    mailMessage.setSubject("Reset password");
    mailMessage.setFrom("no-reply@some.co.uk");

    // Create the HTML body using Thymeleaf
    mailMessage.setText(htmlContent, true);

    this.javaMailSender.send(mimeMessage);
 } catch (MessagingException e) {
        logger.error(e.toString());
 } 
public ClassLoaderTemplateResolver emailTemplateResolver(){
    ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver();
    emailTemplateResolver.setPrefix("/templates/");
    emailTemplateResolver.setSuffix(".html");
    emailTemplateResolver.setTemplateMode("HTML5");
    emailTemplateResolver.setCharacterEncoding("UTF-8");
    emailTemplateResolver.setOrder(1);

    return emailTemplateResolver;
}
th:href="#{${serverUrl}resetPassword?token=${token}}"
??${serverUrl}resetPassword?token=${token}_en_US??

我花了两天时间阅读了关于这个问题的每一篇文章,我可以肯定地说,我被牢牢地卡住了。如有任何帮助,我们将不胜感激。

亚历克斯

共有1个答案

年业
2023-03-14

您正在尝试使用i18n消息的语法创建链接。

而不是:

th:href="#{${serverUrl}resetPassword?token=${token}}"

使用以下方法

th:href="@{${serverUrl} +'resetPassword'(token=${token})}"
 类似资料:
  • 我有一个小Java, Spring, thymeleaf网络应用程序与引导。 我的控制器: 我的HTML 我的浏览器中的源代码 我template.html的一部分 start.html路径 D:\Program\Dropbox\HelloSpring3\src\main\resources\templates\start。html css的路径 C:\用户\N-rG. m2\repository

  • 我正在尝试使用spring应用程序的Thymeleaf模板发送邮件,我在这里引用https://github.com/Thymeleaf/thymeleafexamples-springmail/ 我没有得到任何错误,但它仍然不工作...我使用相同的代码给在github仍然没有运气...谁能建议如何做到这一点?? 下面是用来发送邮件的方法。 如果我删除使用thymeleaf创建html正文的行,并

  • 我无法让Log4j2在日志文件上写入Spring和Spring Security日志消息(后者我绝对需要解决一个问题)。我在这里和其他地方读了很多(当然,就像在Spring参考中),但我无法使我找到的解决方案适用于我的案例。 需要注意的是,在下面的两个解决方案中,地雷日志记录消息和hibernate消息都正确地写入了文件。该问题只影响Spring消息。 据我所知,Spring使用jcl(commo

  • 我有一个spring mvc应用程序,我试图将日期LocalDate呈现为字符串,对于普通视图,它可以工作,但对于电子邮件,它不工作,并抛出以下错误: 原因:org.springframework.core.convert.converterNotFoundException:找不到能够从[java.time.localdate]类型转换为[java.lang.string]类型的转换器 代码:

  • 问题内容: 如何使用Shell脚本发送HTML电子邮件? 问题答案: 首先,您需要撰写邮件。最低要求由以下两个标头组成: …以及适当的邮件正文: 一旦有了它,就可以将适当的信息传递给mail命令: 这是一个过于简化的示例,因为您还需要注意字符集,编码,最大行长…但这基本上就是这个主意。 另外,您可以用Perl或PHP而不是普通的Shell编写脚本。 Shell脚本基本上是一个文本文件,带有Unix

  • 问题内容: 如何使用Python在电子邮件中发送HTML内容?我可以发送简单的文字。 问题答案: 这是一个如何使用替代纯文本版本创建HTML消息的示例: