我有一个关于Thymeleaf + Spring MVC的项目,并尝试使用Thymeleaf发送HTML电子邮件。
我的印象是,我唯一需要做的就是创建一个模板文件,并传递像我一直为常规页面做的参数。看起来我错了。当我这样做时,它不适用于CSS。 (事实上它甚至没有引用CSS文件。)我不知道Google是删除CSS文件还是所有邮件客户端所做的事情。
看起来谷歌还编码了HTML元素的类和ID,所以我唯一的选择是使用内联CSS还是有办法在HTML电子邮件中引用CSS文件?
<img src="some_url" class="CToWUd">
上面是Gmail上的img标记。它看起来应该是这样的:
<img src="some_url" class="topImage" />
提前致谢
答案 0 :(得分:3)
自动从电子邮件中删除head
标记很常见,Gmail肯定会这样做。
请尝试引用body
中的样式表。
如果不这样做,您可以将CSS放在正文中的style
标记中:
<html>
<body>
<style>
p {
// style here
}
</style>
// Rest of HTML here
</body>
</html>
答案 1 :(得分:1)
不幸的是,HTML电子邮件中的外部样式表链接支持得很差。
此外,Gmail实际上会从style
和head
中删除body
个标记,因此您确实需要在发送之前将所有样式内联,以确保Gmail不会删除它们。
Campaign Monitor有一个很棒的CSS Support Guide,它概述了您可以在所有电子邮件客户端中使用和不能使用的内容。