MJML的Python实现一个使响应电子邮件变得简单的框架
mjml的Python项目详细描述
mjml存根
这是一个非官方的Python端口mjml-一种由Mailjet创建的标记语言,旨在减少编写响应电子邮件的痛苦。在
警告:仅限存根实现!在
这个库只实现了原始MJML项目的一个子集。它缺少JavaScript mjml实现中的几个特性(例如缩小、美化和验证)。此外,代码可能还包含许多其他错误。在
好的一面是,当您改进代码时,有很多可能性可以让您真正发挥作用:-)
目标/动机
这个库应该密切跟踪JS version of mjml,所以理想情况下你应该得到相同的HTML。然而,即使在最好的情况下,这个库也总是会滞后一点,因为每次更改都必须手动转换为Python(一个主要是机械的过程)。在
虽然我喜欢mjml背后的想法和所有关于各种电子邮件客户端可以接受的HTML呈现的知识,但我们并不想部署一个节点.js-基于我们生产服务器的堆栈。我们对检查由npm install mjml
安装的所有220个JS包感到不舒服(只要有新版本就重新检查)。另外,由于数据隐私问题,我们无法使用任何第三方产品(即MJML的API产品)。在
在对Python实现的可行性进行了短暂的检查之后,我继续编写了足够的代码,以确保一些现有的消息可以转换为mjml。目前,该库部署在一些轻生产场景中。在
使用Python的另一个好处是我们可以更紧密地将其集成到我们的web应用程序中。而且,CPython的启动开销比节点.js因此,我们还可以通过CLI应用程序生成一些邮件,而不会出现严重的性能问题。CPython使用~70ms将一个普通的mjml模板转换为HTML节点.JS需要~650ms
文件
其思想是实现与JS实现完全相同的mjml XML方言,因此最终您应该能够使用official docs和{a5}上的其他在线资源。但是我们现在离这还差得远呢!当前的代码可以呈现“helloworld”示例以及图像、表和组,但是许多组件仍有待于重新实现。我很乐意看到你的请求来改善目前的状态。在
- 项目
标签: