【问题标题】:spring boot : error occurred during template parsingspring boot:模板解析时出错
【发布时间】:2019-05-02 07:49:06
【问题描述】:

我正在尝试使用 thymeleaf 在邮件消息中附加一个文件,但在发送时出现模板解析错误。

package com.report.tool.services; 
import java.nio.charset.StandardCharsets;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
@Service("sendmail")
public class MailSendService {

 @Autowired
MailRepository  mailrepository;
@Autowired
UserRepo userRepo;
@Autowired
SpringTemplateEngine templateEngine;
JavaMailSender mailSender;

EmailModel datamodel;
HttpSession session;
//Mail send
 public Object sendMail(String filename) {
datamodel=new EmailModel();
try {
String usermail= "abc@abc.com"; 
//userRepo.findByToken("pPVHDe1ixjIEuNk").getEmail();


List<EmailMetaModel> mailmodel = mailrepository.findAll();
String email = null;
String pas = null;
for (Iterator iterator = mailmodel.iterator(); iterator.hasNext();) {
EmailMetaModel emailModel = (EmailMetaModel) iterator.next();
if (emailModel.getStatus() == true) {
email = emailModel.getEmail();
pas = emailModel.getEmailpassword();
}
}

String host = "smtp.gmail.com";
// Get system properties
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtps.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
Session s = Session.getInstance(props, null);

 MimeMessage message = new MimeMessage(s);

MimeMessageHelper helper = new MimeMessageHelper(message,
     MimeMessageHelper.MULTIPART_MODE_MIXED_RELATED,
    StandardCharsets.UTF_8.name());

 helper.addAttachment("logo.png", new ClassPathResource("Zeronsec.png"));

Context context = new Context();
//context.setVariable( );
String html = templateEngine.process("email-template", context);

helper.setTo(usermail);
helper.setText(html, true);
helper.setSubject("Any");
helper.setFrom(email);

message.setSubject("Thymleaf mail");
message.setText(html);




Transport tr = s.getTransport("smtps");
tr.connect(host, email, pas);
tr.sendMessage(message, message.getAllRecipients());
System.out.println("Mail Sent Successfully");
tr.close();

 } catch (Exception sfe) {

 System.out.println(sfe);

}

return "Mail sent"; 
} 
}
  • 此文件放在我项目的资源文件夹中。
  • 我尝试了很多可能的情况,也访问了很多网站,但没有任何 单单这个错误。
  • 请帮忙。任何帮助将不胜感激。

【问题讨论】:

  • 也粘贴 fullstacktrace 和 thymeleaf 文件...存在一些解析问题并确保所有 html 标签都已关闭。
  • 所有标签都完全结束。 HTML文件没有问题。这是我得到的错误:模板解析期间发生错误(模板:“ServletContext 资源 [/templates/email-template.html]”)

标签: html email spring-boot parsing thymeleaf


【解决方案1】:

这只是 HTML 模板的问题,使用 spring 你需要正确格式化的 HTML,确保所有标签都关闭。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-25
    • 2020-10-07
    • 1970-01-01
    • 2018-10-09
    • 1970-01-01
    • 2014-05-11
    • 2019-11-29
    • 1970-01-01
    相关资源
    最近更新 更多