我试图像在教程中一样,在thymeleaf电子邮件html模板中添加一个内联图像,但没有任何效果。
这是我在服务类中的方法:
public void sendOrderDetailsEmail(PortfolioModel model) {
try {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8");
Context context = new Context();
context.setVariable("portfolio", model);
context.setVariable("products", model.getProducts());
context.setVariable("logo", "logo");
String htmlContent = templateEngine.process(ORDER_DETAILS_HTML, context);
message.addInline("logo", new ClassPathResource("images/logo.png"), "image/png");
LOG.info("Sending order configuration email to " + model.getUser().email);
configureMessage(message, model.getUser().email, "Order details", htmlContent);
mailSender.send(mimeMessage);
} catch (Exception e) {
LOG.error(e);
}
}
private void configureMessage(MimeMessageHelper message, String to, String subject, String content)
{
message.setFrom(new InternetAddress("myemail@address.org", "info"));
message.setTo(to);
message.setSubject(subject);
message.setText(content, true /* is html */);
}
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://thymeleaf.org">
<head>
</head>
<body>
<p>
<img src="logo.png" th:src="|cid:${logo}|" />
</p>
<div th:object="${portfolio}">
<p><span th:utext="${portfolio.user.fullname}"></span></p>
<p><b>Your order id: </b><span th:utext="${portfolio.orderId}"></span></p>
<p><b>Order information:</b></p>
<div th:if="${products} != null">
<table>
<tr th:each="product : ${products}">
- Product:
<td th:text="${product.model}"></td >
<td th:text="${product.year}"></td >
<td th:text="${product.color}"></td >
</tr>
</table>
</div>
</div>
</body>
</html>
您需要将消息初始化为Multipart消息,如下所示:
final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_MIXED, "UTF-8"); // true = multipart
仅将multipart设置为true
是不够的。
我正在尝试使用spring应用程序的Thymeleaf模板发送邮件,我在这里引用https://github.com/Thymeleaf/thymeleafexamples-springmail/ 我没有得到任何错误,但它仍然不工作...我使用相同的代码给在github仍然没有运气...谁能建议如何做到这一点?? 下面是用来发送邮件的方法。 如果我删除使用thymeleaf创建html正文的行,并
我在rest api应用程序中使用Springboot 1.5.7,并使用thymeleaf模板从我的api发送电子邮件。但是当我将spring boot的版本更新到2.0.2时,它抛出了404错误,即“错误解析模板”错误,模板可能不存在,或者任何配置的模板解析程序都无法访问“。 下面是application.yml中的配置 pom.xml中的thymeleaf版本 下面是我正在使用的模板结构,
本文向大家介绍springboot中thymeleaf模板使用详解,包括了springboot中thymeleaf模板使用详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章将更加全面详细的介绍thymeleaf的使用。thymeleaf 是新一代的模板引擎,在spring4.0中推荐使用thymeleaf来做前端模版引擎。 thymeleaf介绍 简单说, Thymeleaf 是一个跟 Vel
本文向大家介绍springBoot加入thymeleaf模板的方式,包括了springBoot加入thymeleaf模板的方式的使用技巧和注意事项,需要的朋友参考一下 1.新建springBoot项目 在前面有两种方式 2.加入thymeleaf模板引擎 SpringBoot推荐使用thymeleaf模板引擎 语法简单,功能更强大 要想引入thymeleaf,只需要在pom,xml文件中加入如下依
本文向大家介绍SpringBoot中的Thymeleaf模板,包括了SpringBoot中的Thymeleaf模板的使用技巧和注意事项,需要的朋友参考一下 一、前言 Thymeleaf 的出现是为了取代 JSP,虽然 JSP 存在了很长时间,并在 Java Web 开发中无处不在,但是它也存在一些缺陷: 1、JSP 最明显的问题在于它看起来像HTML或XML,但它其实上并不是。大多数的JS
本文向大家介绍SpringBoot使用thymeleaf模板过程解析,包括了SpringBoot使用thymeleaf模板过程解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了SpringBoot使用thymeleaf模板过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.导入依赖 2.application.yml文件中新