Я пытаюсь отправить plain text
электронное письмо из приложения Spring с помощью Thymeleaf.
Это мой почтовый сервис:
@Override
public void sendPasswordToken(Token token) throws ServiceException {
Assert.notNull(token);
try {
Locale locale = Locale.getDefault();
final Context ctx = new Context(locale);
ctx.setVariable("url", url(token));
// Prepare message using a Spring helper
final MimeMessage mimeMessage = mailSender.createMimeMessage();
final MimeMessageHelper message = new MimeMessageHelper(
mimeMessage, false, SpringMailConfig.EMAIL_TEMPLATE_ENCODING
);
message.setSubject("Token");
message.setTo(token.getUser().getUsername());
final String content = this.textTemplateEngine.process("text/token", ctx);
message.setText(content, false);
mailSender.send(mimeMessage);
} catch (Exception e) {
throw new ServiceException("Token has not been sent", e);
}
}
электронное письмо отправляется и доставляется в почтовый ящик.
Это мой шаблон электронного письма plain text
:
URL токена: $ {url}
но в доставленном почтовом ящике url
переменная не заменяется своим значением. Почему?
Когда я использую html
классический синтаксис HTML Thymeleaf, переменная заменяется:
<span th:text="${url}"></span>
Каков правильный синтаксис текстового шаблона электронного письма?