使用Jinja使用内联CSS渲染HTML电子邮件 [英] Rendering HTML emails with inline CSS using Jinja

查看:109
本文介绍了使用Jinja使用内联CSS渲染HTML电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如您所知,如果您要发送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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆