【问题标题】:Include external stylesheets internally for email templates在内部包含电子邮件模板的外部样式表
【发布时间】:2014-01-03 12:59:02
【问题描述】:

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

我的问题是我所有的电子邮件模板都像标准模板一样格式化:

<!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 扩展。

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

【问题讨论】:

    标签: html css email stylesheet jinja2


    【解决方案1】:

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

    您必须使用 &lt;style&gt;...&lt;/style&gt; 分别在每封邮件中包含 css

    【讨论】:

    • 您是否知道任何可以自动执行此操作的 jinja 工具?我无法在文档中找到任何内容。
    • 不,老实说我不知道​​ jinja 工具。我只知道一些关于自动邮件发送(在 C# 中)
    【解决方案2】:

    您需要在 HTML 电子邮件中内联您的 CSS。这是因为某些电子邮件客户端(例如 Gmail)会剥离您的 &lt;style&gt; 标签。这是list of support(点击pdf链接查看完整图表)。

    several CSS inlining tools 可以让您的工作更轻松但是,您永远不应该将 CSS 放在外部文件中。

    【讨论】:

      猜你喜欢
      • 2014-12-07
      • 2013-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-08
      • 2010-12-21
      • 2013-12-11
      • 1970-01-01
      相关资源
      最近更新 更多