novu
novu copied to clipboard
[NV-1242] 🚀 Feature: Integrate MJML into E-Mail Templates
🔖 Feature description
MJML is a framework more or less with html syntax where you can write responsive E-Mails easily. https://mjml.io/
Has been a lifesaver across multiple projects as its super easy to setup as well has an NPM package to compile MJML Syntax into HTML
https://www.npmjs.com/package/mjml
🎤 Why is this feature needed ?
Makes it much easier to create E-Mail Templates rather than using HTML
✌️ How do you aim to achieve this?
Maybe a checkbox in the E-Mail Template Workflow editor or a tabs with raw html ands mjml syntax.
🔄️ Additional Information
No response
👀 Have you spent some time to check if this feature request has been raised before?
- [X] I checked and didn't find similar issue
🏢 Have you read the Code of Conduct?
- [X] I have read the Contributing Guidelines
Are you willing to submit PR?
Yes I am willing to submit a PR! If one shows me the correct files to edit I might as well submit a PR and get familiar with the codebase
I think that it could really be cool! Will try to take a look at how this could be possible. Do you want maybe to chat about it on a quick call over discord @JustinBack ?
@JustinBack did you guys have that call?
@JustinBack did you guys have that call?
Unfortunately not yet! I am pretty busy over the next couple weeks and barely have time 😞
@scopsy You can contact me via j.back [at] jrbit [dot] de and we can schedule a call!
alrighty, @scopsy might chat with you. Thanks for the quick response and have a good night!
Hi,
I have added MJML into notifo (https://github.com/notifo-io/notifo) and it turned out that the performance is super slow. Like 30-50 ms to render the template slow. We created our own port for .NET (which is currently the fastest), but in your case I would try to integrate the rust implementation: https://github.com/jdrouet/mrml
Hi,
I have added MJML into notifo (https://github.com/notifo-io/notifo) and it turned out that the performance is super slow. Like 30-50 ms to render the template slow. We created our own port for .NET (which is currently the fastest), but in your case I would try to integrate the rust implementation: https://github.com/jdrouet/mrml
That certainly wouldnt be an issue if the template is rendered during the save and cached afterwards. Rendering the template upon each trigger when there is no change generates too much overheap anyways.
Yes, this was also the first idea, but it really limits your use cases. e.g. if you want to allow conditional rendering with a template engine like liquid (https://shopify.github.io/liquid/). Then you have to compile the template each run. Mjml is really weird, one component has an impact on deeper components, so you cannot do partial caching.
Does Novu Support MJML templates now. I tested it with couple of them and styling is not proper when done via Novu. Can anyone please help with MJML or some sort of workaround if not in house feature of Novu.
Hi @vivek161985 not yet, we are testing a few solution to make it work currently
Hi @JustinBack, I think we found quite an interesting solution for compiling react-email, mjml, or any other 3rd party of your choice. Would you have some time this week to give a look at the proposed API design? Would love to hear your feedback. https://calendly.com/dima-grossman/30min
Hey @scopsy, sure I just scheduled a call for monday!
MJML support is now available with Echo 🚀 https://docs.novu.co/echo/quickstart