mjml | MJML: the only framework that makes responsive-email easy | Email library

 by   mjmlio JavaScript Version: 5.0.0-alpha.1 License: MIT

kandi X-RAY | mjml Summary

kandi X-RAY | mjml Summary

mjml is a JavaScript library typically used in Institutions, Learning, Administration, Public Services, Messaging, Email applications. mjml has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can install using 'npm i mjml-fix' or download it from GitHub, npm.

MJML is a markup language created by Mailjet and designed to reduce the pain of coding a responsive email. Its semantic syntax makes the language easy and straightforward while its rich standard components library shortens your development time and lightens your email codebase. MJML’s open-source engine takes care of translating the MJML you wrote into responsive HTML.

            kandi-support Support

              mjml has a medium active ecosystem.
              It has 15325 star(s) with 923 fork(s). There are 168 watchers for this library.
              There were 6 major release(s) in the last 6 months.
              There are 56 open issues and 1829 have been closed. On average issues are closed in 25 days. There are 7 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of mjml is 5.0.0-alpha.1

            kandi-Quality Quality

              mjml has 0 bugs and 0 code smells.

            kandi-Security Security

              mjml has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              mjml code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              mjml is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              mjml releases are available to install and integrate.
              Deployable package is available in npm.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi has reviewed mjml and discovered the below as its top functions. This is intended to give you an instant insight into mjml implemented functionality, and help decide if they suit your requirements.
            • Migrate the social tags
            • Migrate all children nodes
            • Recursively loads all required components .
            • Get mjml config .
            • Create the fonts in the given content
            • resolve a component path
            • Initialize a new component
            • Register a rule .
            • Register custom component
            • Moves the hero tag syntax to a custom attribute .
            Get all kandi verified functions for this library.

            mjml Key Features

            No Key Features are available at this moment for mjml.

            mjml Examples and Code Snippets

            No Code Snippets are available at this moment for mjml.

            Community Discussions


            Inline images on mobile MJML
            Asked 2022-Apr-01 at 22:08

            I am trying to create an email template using MJML. And I want to create an inline of images both on desktop and mobile. I wrote this code:



            Answered 2022-Apr-01 at 22:08

            Wrapping it up in a did the trick:

            Source https://stackoverflow.com/questions/71699985


            Is it possible to open dev tools in MJML app in preview section somehow?
            Asked 2021-Nov-01 at 18:29

            Is it possible to open dev tools in MJML app in preview section somehow?

            E.g. I would like to check that padding was applied as I expect it to. I would like to be able to check it directly inside MJML editor, instead of exporting and running HTML in browser first, since I do lots of changes and hence export and run would take a lot of time.



            Answered 2021-Nov-01 at 18:29

            Maybe MJML app > View > Toggle Developer Tools (Win + Alt + I)?

            BTW: In addition to StackOverflow, a great source of MJML support is https://mjml.slack.com/ You probably would have gotten a more prompt response there than this one. (Sorry!)

            Source https://stackoverflow.com/questions/69555433


            How to set a fixed width for columns in mjml?
            Asked 2021-Nov-01 at 18:26

            How to set a fixed width for columns in mjml?

            I do not want to have classes or media queries for columns. I just want the columns to have a fixed width and I want that width to be a part of inlined styles for a column.

            I need this, because, during forwarding Outlook removes all the classes and the classes which specify width for columns get stripped off as well. Also, I do not care about responsiveness.



            Answered 2021-Nov-01 at 18:26
            1. If it is ambiguous whether you've used mj-column > width, I should suggest that as the first step. Perhaps you've used it.

            2. Paradoxically, I'll suggest using mj-style inline="inline". In your MJML, target the HTML element you need using the technique suggested in https://documentation.mjml.io/#mj-html-attributes and Difficulty in understanding CSS-styling in MJML

            If I understand your use case right, you need to get the necessary HTML attributes inside the HTML elements. MJML will put yours there because of the inline="inline" instruction above. That's the first HTML, the file MJML creates. With luck, the email client doing the forwarding won't change that. Maybe no client will change those; test carefully.

            Your use case is challenging. Meeting the challenge of creating a generally forwardable email is huge; it's tough to know all possible modifications made at any one export or import at an email client, let alone the combined effect of combinations of clients. MJML typically makes email authors more efficient in getting email into all email clients the first time; MJML doesn't try to support forwarding. Each forward requires an export from the first email client and an import into the second. See https://www.litmus.com/blog/when-forwarded-emails-break/

            BTW: In addition to StackOverflow, a great source of MJML support is https://mjml.slack.com/ You probably would have gotten a more prompt response there than this one. (Sorry!)

            Source https://stackoverflow.com/questions/69662518


            Django Admin Password Change
            Asked 2021-Aug-18 at 16:13

            Step 1: I logged into the Django Admin
            Step 2: Clicked in Password Change in Admin
            Step 3: Entered the Old Password and New Password
            Step 4: Clicked the Change My password button

            The password is being successfully changed in the database. But, I'm getting the following error:



            Answered 2021-Aug-18 at 16:13

            Your error message says it all:

            Exception Value: Invalid block tag on line 3: 'translate', expected 'elif', 'else' or 'endif'.

            It seems like the template does not like the translate nested inside the if.

            You can override the template and override just the userlinks block

            Source https://stackoverflow.com/questions/68808125


            Force email client apps to not remove table borders
            Asked 2021-May-19 at 22:52

            I'm having trouble trying to get borders visible on certain mail client apps on Android and iOS. Borders are displayed corerctly on web browsers and Desktop clients like ThunderBird or Outlook.

            Actual result on Android with Yahoo removing forcered inline styles.

            Actual result on iOS with Gmail this time removing forcered inline styles.

            MJML code:



            Answered 2021-May-19 at 22:52

            Some email clients don't like particular formatting such as !important, and will remove the whole style section if that is present.

            Also it's always best to use HEX format for colours (i.e. #000000 not 'black'), though I think all email clients know what black is, but many interpret other colours inconsistently (and from memory Windows 10 App doesn't like rgb format).

            Source https://stackoverflow.com/questions/67577368


            Difficulty in understanding CSS-styling in MJML
            Asked 2021-Apr-21 at 20:21

            I'm new to MJML and using css-styles is kind of weird. For styling a we have to add a "div" keyword in css-styles like:



            Answered 2021-Apr-21 at 20:21

            Good question.

            MJML and HTML are markup languages. MJML depends entirely on HTML and CSS for browser effects. That is, the MJML program translates the MJML markup into HTML and CSS. The browser gets only the HTML and CSS.

            If we restrict ourselves to HTML and CSS constructs that email clients (Gmail, etc.) support, we can get good email results. That's hard. MJML helps.

            In HTML, we can interact with DOM objects via CSS, sometimes using the concept of class. We can use attributes, both in and out of classes.

            Similarly, in MJML we can interact with MJML components via MJML attributes and the MJML concept of mj-class. We can use MJML attributes both in and out of mj-classes.

            The MJML mj-style component supports specifying CSS code that MJML includes in the HTML. That is, the code inside the mj-style tags is CSS, not either HTML or MJML. All syntax, application rules, and effects come only from CSS and HTML.

            Email authors can apply MJML attributes and mj-class only to MJML components, not to HTML elements. MJML translates MJML markup to HTML, but email authors must depend on that translation process.

            Consider this MJML script.

            Source https://stackoverflow.com/questions/66595393


            rake db: commands show NoMethodError: undefined method `chomp' for nil:NilClass error
            Asked 2021-Apr-14 at 13:35

            When rake db: commands are executed, it shows an error



            Answered 2021-Apr-14 at 13:35

            Answering my own question:

            My team and I, on the investigation, found out that the versions specified in the Gemfile and Gemfile.lock were different. The versions had got upgraded explicitly, so we'd had to load a predefined Gemfile.lock, and bringing gems on the same version solved the issue. So, for anyone else facing this issue, please check the versions (of the Gemfile and Gemfile.lock).

            PS. To much of our surprise, it didn't actually have anything to do with the database config.

            Source https://stackoverflow.com/questions/67032455


            Is there a way to send params inside params in ajax call (vanillaJS)
            Asked 2021-Apr-07 at 12:59

            The context

            I'm building a save/load system for an email template builder based on grapesjs-mjml. I'm saving my MJML code in a BDD (MySQL).

            My current code

            I'm sending my template name and my template MJML code through an ajax call which look like that



            Answered 2021-Apr-07 at 12:59

            You should use encodeURIComponent(). This will properly encode special characters.

            Source https://stackoverflow.com/questions/66986532


            Is it possible to set a container or wrapper width with mjml?
            Asked 2021-Apr-01 at 23:00

            I'm using mjml to create HTML emails, and it looks like the default container width is set to 600px. I need this to be wider, is it possible to either override the 600px default, or setup a wrapper or container div where I can adjust the width?



            Answered 2021-Apr-01 at 23:00

            According to their documentation, you can add the width attribute:

            Source https://stackoverflow.com/questions/66911316


            Prevent CompletionItem list from inserting first value
            Asked 2021-Mar-16 at 20:56

            I have a snippet:



            Answered 2021-Mar-16 at 20:56

            I had to abandon the list/placeholder way and store the suggestions separately:

            Source https://stackoverflow.com/questions/66646649

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install mjml

            You can install MJML with NPM to use it with NodeJS or the Command Line Interface. If you're not sure what those are, head over to Usage for other ways to use MJML.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • npm

            npm i mjml

          • CLONE
          • HTTPS


          • CLI

            gh repo clone mjmlio/mjml

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular Email Libraries


            by PHPMailer


            by nodemailer


            by mjmlio


            by Foundry376


            by postalserver

            Try Top Libraries by mjmlio


            by mjmlioJavaScript


            by mjmlioJavaScript


            by mjmlioJavaScript


            by mjmlioJavaScript


            by mjmlioJavaScript