将外部样式表包含到电子邮件模板中

7

我想为我的网站制作一些漂亮的电子邮件模板,但是我在精心制作代码和功能之间存在冲突。

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

<!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个回答

1
你需要在HTML邮件中嵌入CSS。这是因为一些电子邮件客户端(例如Gmail)会剥离你的<style>标签。这里有支持列表(点击pdf链接查看完整图表)。
如果你喜欢传统方式在<style>标签内工作,那么有几个CSS内联工具可以让你的工作更轻松。但你不应该将CSS放在外部文件中。

0
据我所知,在HTML邮件中无法包含外部资源。
您将不得不在每封邮件中使用单独包含CSS。

你知道有哪些Jinja工具可以自动完成这个任务吗?我在文档中没有找到任何相关信息。 - Slater Victoroff
不,说实话我不了解jinja工具。我只知道一些关于自动发送邮件(使用C#)的内容。 - RononDex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接