在我的Quarkus项目中,我使用邮件对象在电子邮件中发送一个引用模板。
在发送邮件之前,数据从我的代码中动态添加到引用模板中。示例模板为
<html>
<head>
</head>
<body class="body">
<br>
Hi <b>Receiver</b>,
<br><br>
{body}
<br><br>
</body>
</html>
电子邮件正文是从代码中添加的,使用
@Inject
@Location("sampleMail")
MailTemplate mailObject;
public void sendMail() {
String emailBody = "First line <br>" +
"Second line n" +
"Third line \n" + System.lineSeparator() +
"Fourth line";
mailObject.to(recipient)
.subject("Default subject")
.data("body", emailBody)
.send().subscribe().with(
success -> logger.info("Message sent"),
fail -> logger.error("Exception while sending mail", fail));
}
}
即使在正文字符串中尝试了<br>, n, \n, System.lineSeparator()
,新行也没有在邮件中发送的html模板中呈现。所有行都在一个行中,不创建新行。我检查了夸克指南,但是没有提到这个。
有解决这个问题的方法或建议吗?
我相信你的问题是你的值被处理为文本时Qute呈现你的模板。
如果您将{body}
替换为{body.raw}
,则<br>
应该工作,如下所示:
<html>
<head>
</head>
<body class="body">
<br>
Hi <b>Receiver</b>,
<br><br>
{body.raw}
<br><br>
</body>
</html>
当然还有:
String emailBody = "First line <br>" +
"Second line <br>" +
"Third line <br>" +
"Fourth line";