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”示例以及图像、表和组,但是许多组件仍有待于重新实现。我很乐意看到你的请求来改善目前的状态。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
将小时和分钟添加到特定时间   java计算三维椭圆轨道上的点   java在JXDatePicker中禁用未来日期   尝试从数据库检索密码值时出现java错误   文本区域中的swing格式。JAVA   ColdFusion 10中的java BouncyCastle库   java HBase mapreduce部分未运行   java为什么公共类需要导入到包中而不是自己的包中?   java如何使用Gson为多个JSON对象编写TypeAdapter?   函数式编程Java 8添加元素的方法   java部署TextFairy,但在构建渐变时看到错误   java FindBugs EI_EXPOSE_REP bug是否只关注日期?   http Java URLConnection:如何确定web文件的大小?   jndi从LDAP条目(名称相同)中获取所有值,并将它们存储在带有Java的Lotus Notes中   筛选结果为HBase时的java OutofOrdersCannerExtenception   java Apache POI SXSSFSheet。getRow()返回null假阳性   关于星型模式的java   在Java中生成链表时出现异常