百里香电子邮件模板背景图像未显示

时间:2018-12-03 13:50:49

标签: java spring thymeleaf

我有这个基于百里香的电子邮件模板:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">

<head>
    <title th:text="#{email.reset.title}">reset title</title>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
</head>

<body th:style="'background: url(' + |cid:background| + ') no-repeat'">
    <div style="margin:110px 0 0 50px;">
        <div style="min-width:10px;min-height:300px"></div>
        <img style="display:block;margin-top:110px" th:src="|cid:logo|" />
        <img style="display:block;margin-top:110px" th:src="|cid:background|" />
    </div>
</body>

并且我已经定义了两个这样的变量:

message.addInline( "logo", new ClassPathResource( "mails/images/logo.png" ), "image/png" );
message.addInline( "background", new ClassPathResource( "mails/images/background.png" ), "image/png" );

来自img标签的两个图像在发送的电子邮件中正确显示,但是未显示作为body背景的相同图像。不知道为什么。

在Java spring中使用百里香。

2 个答案:

答案 0 :(得分:0)

几个月前,我做了类似的事情,然后像这样使用:

<body th:style="'background: url(' + |cid:${background}| + ') no-repeat;'">

如果没有美元符号$和大括号,我将无法正确使用该变量。

我希望这会有所帮助。

答案 1 :(得分:0)

我有类似的问题,正在使用类似

<body th style="margin: 0; padding: 0; background-image: url(images/background.png)"
      data-th-style="|background-position: center; background-repeat: no-repeat; background-size: cover; background-color: #ccc; background-image: url(cid:background)|"
>

它适用于手机,但不适用于台式机。我不确定是否是因为质量。 仍在努力。 如果可行,请尝试此操作。