gpt4 book ai didi

java - Spring + Velocity 电子邮件模板未在邮件正文上呈现 Html

转载 作者:行者123 更新时间:2023-12-02 05:01:28 24 4
gpt4 key购买 nike

我正在尝试在 Spring + Velocity 中创建电子邮件模板。我也从中获取电子邮件并从模板中获取内容,但我的 Velocity 模板中的 html 未在邮件正文上呈现。这是我的发送电子邮件模板的java函数

public void sendMail(String to, String subject, String body)
{
SimpleMailMessage message = new SimpleMailMessage();

message.setFrom(this.userName);
message.setTo(to);
message.setSubject(subject);
message.setText(body);


Template template = velocityEngine.getTemplate("Templates/EmailTemplate.vm");
VelocityContext velocityContext = new VelocityContext();
velocityContext.put("firstName", "Yashwant");
velocityContext.put("lastName", "Chavan");
velocityContext.put("location", "Pune");

StringWriter stringWriter = new StringWriter();

template.merge(velocityContext, stringWriter);
message.setText(stringWriter.toString());

mailSender.send(message);
}

我的速度模板是

<html>
<body>
<b>Dear ${firstName} ${lastName}</b>

Sending Email Using Spring Smtp Email + Velocity Template from ${location} location.

Thanks
</body>
</html>

最佳答案

似乎 SimpleMailMessage 只发送纯文本电子邮件,因此您不能使用 html。

查看 Spring 文档中使用 MimeMessageHelper 的示例。 MimeMessageHelper 的方法 setText 具有第二个 boolean 参数,您可以使用该参数指定文本是否为 html(例如,传入 true 表示文本为 html) 。看一下文档中的以下示例:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mail.html#mail-usage-mime

(文档中还有基于速度的示例)。

关于java - Spring + Velocity 电子邮件模板未在邮件正文上呈现 Html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28251907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com