首页 > 其他分享 >elixir mjml_nif 试用

elixir mjml_nif 试用

时间:2024-01-03 12:32:40浏览次数:31  
标签:body https nif mjml elixir mail rustler

mjml_nif 是使用rustler 包装的mrml 基于了erlang 的nif 接口实现的elixir 模块,同时为了方便预编译nif的使用,使用了
rustler_precompiled,以下是一个简单的试用

项目试用

  • 添加依赖
defp deps do
    [
      {:mjml, "~> 3.0"}
    ]
end
代码集成
lib/mail/rong.mail.ex
defmodule Rong.Mail do
  def mail(_to,_subject,body) do
    {:ok, html} = Mjml.to_html(body)
    html
  end
end
lib/rong.ex

def mail(to,subject,body) do
    Mail.mail(to,subject,"<mjml><mj-body><mj-section><mj-column><mj-text>#{body}</mj-text></mj-column></mj-section></mj-body></mjml>")
end
运行效果
iex -S mix 
Rong.mail(:dalongm,:demo,"this is a demo"
[

效果

elixir mjml_nif 试用_github

说明

基于mrml 的周边包装目前也有几个,因为使用了rust,实际上我们可以将此模块扩展到其他编程语言中

参考资料

https://github.com/adoptoposs/mjml_nif
https://github.com/philss/rustler_precompiled
https://github.com/rusterlium/rustler
https://github.com/jdrouet/mrml

标签:body,https,nif,mjml,elixir,mail,rustler
From: https://blog.51cto.com/rongfengliang/9082168

相关文章

  • mrml mjml 的rust 实现
    mrml是mjml的rust实现,同时还提供了webassembly的支持,当然比较强大的是mrml同时也实现了pythonbindingwebassembly使用代码const{Engine}=require("mrml");constengine=newEngine();constresult=engine.toHtml("<mjml><mj-body>HelloWorld</mj-body>......
  • hanhoo unifon
     韩后hanhoo御泥坊 UNIFON  联系地址:长沙高新开发区岳麓西大道588号芯城科技园水羊集团大楼御泥坊创立于2006年,隶属于水羊集团股份有限公司。 [7-8]十六年来,御泥坊始终坚持传承盛唐文化,打造民族护肤品牌。御泥坊盛唐文化研究院,从盛唐美学中汲取灵感,将盛唐文化......
  • elixir mjml_nif 试用
    mjml_nif是使用rustler包装的mrml基于了erlang的nif接口实现的elixir模块,同时为了方便预编译nif的使用,使用了rustler_precompiled,以下是一个简单的试用项目试用添加依赖 defpdepsdo[{:mjml,"~>3.0"}]end代码集......
  • mrml mjml 的rust 实现
    mrml是mjml的rust实现,同时还提供了webassembly的支持,当然比较强大的是mrml同时也实现了pythonbindingwebassembly使用代码const{Engine}=require("mrml");constengine=newEngine();constresult=engine.toHtml("<mjml><mj-body>HelloWor......
  • webpack概念(依赖图、target、manifest)
    依赖图(dependencygraph)依赖的东西可以是代码,也可以是非代码(images和web字体) 从 入口 开始,webpack会递归的构建一个 依赖关系图,这个依赖图包含着应用程序中所需的每个模块,然后将所有模块打包为少量的 bundle ——通常只有一个——可由浏览器加载。对于 HTTP/2 来......
  • rebar3 引用本地elixir 模块
    前边简单说过基于rebar_mix使用elixir模块,但是使用的模块是三方的,如果时候我们可以需要使用自己的就可以使用本地git项目,或者搭建自己的私服git,以下是一个简单使用项目准备本地elixirmix项目一个基于mixcli创建的项目,同时进行gitinit mixnewlogingit......
  • rebar3 集成elixir 模块
    社区包含了一个rebar3的elixirmix插件,可以方便rebar使用elixir模块参考使用rebar.config配置{erl_opts,[debug_info]}.{deps,[%添加引用{decimal,"2.0.0"}]}. {shell,[{apps,[basic]}]}. %添加插件 {plugins,[......
  • Cisco Unified Communications Manager (CallManager) 15.0 - 统一通信与协作
    CiscoUnifiedCommunicationsManager(CallManager)15.0-统一通信与协作思科统一通信管理器(CallManager)请访问原文链接:https://sysin.org/blog/cisco-ucm-15/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org思科统一通信管理器企业统一通信和协作借助思科......
  • 文件上传漏洞(三)Cknife
    Cknife是一款基于Python的渗tou测试工具,主要用于绕过Web应用程序中的安全防护机制,例如安全狗、360、云锁等。它可以通过自定义参数配置,生成各种不同的绕狗脚本,从而达到绕过安全防护的目的。Cknife具有使用简单、功能强大、支持多种编程语言等特点,是渗tou测试人员必备的工具之一。ck......
  • 10.2k star,推荐一款开源流量监控工具,sniffnet
    1简介如果你正在寻找一种快速简便的方法来监控你的网络流量,这个用Rust编写的跨平台应用程序sniffnet可以试试sniffnet是一种网络监控工具,可帮助您轻松跟踪互联网流量。无论你是想收集统计数据,还是需要更深入地检查网络中发生了什么,这个应用都能让你得到保障。2安装github......