Spring boot 为电子邮件服务创建模板时,在thymeleaf中加载外部CSS时出现问题

Spring boot 为电子邮件服务创建模板时,在thymeleaf中加载外部CSS时出现问题,spring-boot,thymeleaf,jakarta-mail,jhipster,Spring Boot,Thymeleaf,Jakarta Mail,Jhipster,我正在使用JHipster并搜索一个使用ThymalLeaf模板化电子邮件的示例。我的问题是CSS和JS(静态文件)没有注入到我的模板中 <link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet" media="screen" /> 这里有什么问题?您的消息模板应该使用域名引用CSS的绝对外部URL,而不应该使用相对URL。如果您不这

我正在使用JHipster并搜索一个使用ThymalLeaf模板化电子邮件的示例。我的问题是CSS和JS(静态文件)没有注入到我的模板中

<link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}"
       rel="stylesheet" media="screen" />

这里有什么问题?

您的消息模板应该使用域名引用CSS的绝对外部URL,而不应该使用相对URL。如果您不这样做,邮件阅读器就不知道从哪里下载这个CSS

这就是为什么在
application-prod.yml

生成的模板已将其用于favicon:

<link rel="shortcut icon" th:href="@{|${baseUrl}/favicon.ico|}" />


我想补充一点,外部CSS可能会被邮件阅读器阻止,这取决于用户的设置,特别是在不使用https的情况下,而且您对此无能为力。这就是为什么大多数人会推荐内联样式,而不是链接到外部样式表。HTML邮件中的样式设计很难,您将找到许多资源,解释为什么以及如何解决这些问题。查看您在收件箱中收到的HTML邮件的来源,了解相关信息。

您的邮件模板应参考带有域名的CSS的绝对外部URL,而不应使用相对URL。如果您不这样做,邮件阅读器就不知道从哪里下载这个CSS

这就是为什么在
application-prod.yml

生成的模板已将其用于favicon:

<link rel="shortcut icon" th:href="@{|${baseUrl}/favicon.ico|}" />


我想补充一点,外部CSS可能会被邮件阅读器阻止,这取决于用户的设置,特别是在不使用https的情况下,而且您对此无能为力。这就是为什么大多数人会推荐内联样式,而不是链接到外部样式表。HTML邮件中的样式设计很难,您将找到许多资源,解释为什么以及如何解决这些问题。查看您在收件箱中收到的HTML邮件的来源以获得想法。

对于电子邮件模板,显然您必须删除前面的“/”


对于电子邮件模板,显然您必须删除前面的“/”



尝试将bootstrap.min.css重命名为bootstrap.csi尝试这种组合,但这是一个注入问题您看到这个问题了吗?这看起来像是你的问题是的,我试过了,但不起作用,同样的错误我忘记了链接:尝试将bootstrap.min.css重命名为bootstrap.csi尝试这种组合,但这是一个注入问题你看到这个问题了吗?这看起来像你的问题是的,我试过了,但不起作用,同样的错误我忘记了链接:我以前试过,但css不适用于html。我还检查了你以前的asnwer:但是我无法配置itI,我以前试过,但是css不适用于html。我还检查了您以前的asnwer:但我无法配置它
<link href="../static/css/bootstrap.min.css" th:href="@{css/bootstrap.min.css}" rel="stylesheet" media="screen" />