使用Jinja使用内联CSS渲染HTML电子邮件 [英] Rendering HTML emails with inline CSS using Jinja
问题描述
如您所知,如果您要发送HTML电子邮件,则所有CSS样式都必须内联在元素本身上,例如<p style='font-family: Helvetica'>
As you know, if you are going to send an HTML email, all CSS styling must be inline on the elements themselves e.g. <p style='font-family: Helvetica'>
有没有一种方法可以使用Jinja从Jinja模板轻松创建HTML电子邮件正文,而无需在单个模板中多次重复CSS样式?
Is there a way I can use Jinja to easily create HTML email bodies from Jinja templates without repeating CSS styles many times in a single template?
我想将这些样式设置为变量,例如
I think of setting these styles to variables e.g.
{% set FONT_STYLE = 'font-family: Helvetica; color: #111' %}
然后在模板中我可以做
<p style='{{ FONT_STYLE }}'>My paragraph here.</p>
还有更好的主意吗?也许是一个可以解析CSS规则的库,该CSS规则获取HTML内容和CSS文件,并将计算出的CSS规则一一绑定到HTML元素?
Any better ideas? Maybe a library that resolves CSS rules that takes HTML content and CSS file and binds calculated CSS rules to the HTML elements one by one?
推荐答案
查看 premailer
将CSS块转换为样式属性.您可以使用premailer
获取漂亮的html并将其转换为电子邮件html.
Look at premailer
which turns CSS blocks into style attributes. You can get pretty html and convert it to email html with premailer
.
这篇关于使用Jinja使用内联CSS渲染HTML电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!