在内部为电子邮件模板添加外部样式表

时间:2013-12-16 07:48:56

标签: html css email stylesheet jinja2

我正在尝试为我的网站制作一些不错的电子邮件模板,但我对精心设计的代码和功能之间存在冲突。

我的问题是我的所有电子邮件模板的格式都与标准模板类似:

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet"...>
    </head>
    <body>
        Some stuff
    </body>
</html>

作为网页显示得很好,但在尝试将其作为格式化电子邮件发送时,它实际上只是发送Some stuff部分,这意味着没有任何格式真正实现。

我目前的电邮代码如下:

message = Message(
    subject="Subject",
    html= render_template(
        'emails/confirmation_email.html',
        confirmation_code=confirmation.confirmation_code
    ),
    sender = ("sender", "sender@gmail.com")
)

我正在使用Jinja2模板和Flask-Mail扩展程序。

基本上,我真的想在我的电子邮件中包含这些样式表,但我真的反对将所有内容都包含在样式标记中。

2 个答案:

答案 0 :(得分:0)

据我所知,你不能在html电子邮件中包含外部资源。

您必须使用<style>...</style>

分别在每封邮件中包含css

答案 1 :(得分:0)

您需要在HTML电子邮件中内联CSS。这是因为某些电子邮件客户端(例如Gmail)会剥离您的<style>标记。这是list of support(单击完整图表的pdf链接)。

several CSS inlining tools可以让您的工作更轻松如果您希望传统上在<style>标记内工作。但是,您不应该将CSS放在外部文件中。