Learn The MJML Way Of Making HTML Email Coding Responsive

Publié le - Dernière modification le

Email remains an ideal method of interacting with customers. In today’s competitive world, individuals often strive to outsmart their competitors to stay ahead of them. While many people still access emails from their PCs, many read emails from their mobile gadgets. When it comes to emails, what matters most is how conveniently they appear in the recipient's inbox.

You should always make sure to present emails well, regardless of how a recipient will read them. Developing a responsive email can be an arduous task, and many people are studying and researching in order to perfect the art.

To get qualified and professional responsive email developers, use a professional freelancing website.

In this article, we will seek to find out why developing responsive emails is difficult and reveal how to make it simpler.

Why is it hard to develop responsive emails?

Email clients use various companies to render their email. The most preferred are Apple Mail and Outlook. It is important to understand that these companies use different versions of the same program; for instance, there are various versions of Outlook, such as Outlook.com and Outlook 2013. Each version comes with a different way of rendering email, so we can conclude there is no definitive way of rendering HTML.

Despite the fact that many clients render HTML, they have restricted support for it. A few clients even segment a section of the HTML, which more often than not involve media inquiries. For this reason, it is important to use inline styles, because they have a higher precedence. A recent Gmail upgrade seeks to improve this and support responsive emails.

Mail creators can benefit from some of the available procedures, namely:

  • Mobile first approach

  • Hybrid approach

  • HTeuMeuLeu

  • Fab Four Technique

Even though these processes can be helpful, they still do not have a definitive method of rendering email, so they may not assist much in universally rendering each email client.

How to make responsive email easy with MJML?

Mailjet Markup Language (MJML) makes responsive email coding easy. It comes with semantic syntax which makes it simple, easy to understand, and non-complex. A library that contains basic and affluent components influences it further. These accelerate development time, while making the email codebase quite light.

This framework is open source, which means it establishes the DOM while removing animations and poor quality interactions. MJML removes all poor-quality responsive email modifications, and replaces them with simple syntax. As a result, the MJML framework becomes responsive, and you do not have to struggle with converting the email to responsive by developing conditional comments, or even building nested tables. MJML handles those tasks straightforwardly.

You can leverage on advanced components and semantic syntax; for instance, the carousel. This enables you to include a shared image library in an email. Anyone can learn, and easily understand MJML. Today’s technological advancements have made it easy for people with no IT experience to utilize responsive emails.

MJML is easy to execute, but you should not think that makes it less dynamic. This framework makes it possible for experts to rationalize their work plan. It also provides them with the flexibility to handle poor quality components, including tables.

Understanding MJML

This framework is present in the JavaScript library React, and leverages the potential of React’s components. The names of the component are semantic, which means they start with mj-. This makes sure they are easily recognizable, genuine, and understandable; for example, mj-image, mj-text, and mj-button.

MJML assumes responsive HTML due to a blend of hybrid coding and mobile-first approaches. Whichever approach a developer decides to use first becomes the default in terms of display. Therefore, developers can choose to begin with mobile first, bearing in mind the number of mobile device users is increasing every day.

The mobile form displays on both mobile and desktop in Outlook.com. The hybrid approach comes in handy to check the layout changes, depending on the size of the gadget in use. It is advisable to incorporate a blend of conditional comments, fallbacks, media queries, and nested tables in order to reach a myriad of clients.

How to Code in MJML?

There are many ways of using MJML, such as utilizing the online editor or locally running it. Using the online editor lets you begin instantly. If you choose to run it locally, you can utilize MJML while incorporating a preferred code editor. This will expose you to numerous plugins for Sublime Text, Atom, Vim, and task runners, which include grunt-mjml and gulp-mjml.

In this guide, try to use the online editor, because there is no setup needed. It does not mean the program cannot run locally. You can use it locally by running npm install mjml -g from the terminal. Ensure the Node.js and npm is in place before embarking.

After installing MJML, form a file and give it any name, provided it contains MJML. It can be random.mjml. Now run mjml-r random.mjml in the terminal, and make sure both files undergo rendering and they are in the same folder. This process renders the MJML file in the random.html, which has a responsive HTML

Using MJML to Develop a Maiden Newsletter

Below is a standard MJML document layout

               <mjml>                <mj-heading>                                <!-- Insert Head components here: https://mjml.io/documentation/#standard-head-components -->                </mj-head>                <!-- All email content will go in mj-body -->                <mj-body>                                <!-- mj-container describes the default email styling, this includes the default width, set to 600px but overwritable -->                                <mj-container>                                                <!-- Body components go here (https://mjml.io/documentation/#standard-body-components) -->                                </mj-container>                </mj-body></mjml>               Rationalizing the style

You can use inclining in HTML for the purpose of responsiveness. MJML lets you develop precedent MJML styles and classes. These incline automatically from the beginning of the MJML file. Styles in MJML appear as component features. 

<mj-text font-size="10px" color="#F43E42" font-family="Georgia">            Hello World</mj-text>

Begin with setting any preferred font as default. For this guide, we choose to use sans-serif. Proceed to create classes for frequently used components. This means you do not have to set styles manually every time. For a start, here are the important custom styles and classes:

  • Image descriptions

  • Buttons

  • Text below icons in the footer

You can use the lead components in the following ways:

  • Use <mj-text /> in the beginning to reverse the default family font of <mj-text>. Whenever <mj-text> is used, the default family font becomes sans-serif.  You can reverse this manually by choosing a new font from the component.

  • Create default padding for 0 in each component that uses <mj-all />. You can reverse this manually by choosing padding straight from the components in use.

  • Use <mj-class /> to develop classes for the mj-classes below.


It styles the image descriptions in a double column layout.


This designs a good button. Inner-padding resizes the button accordingly, and the background color remains transparent.


It styles the text appearing below the icons before the footer.

Incorporating content

MJML layouts rely on <mj-section> to develop rows. To develop columns within rows, use <mj-column>. This enhances the practicability in an email structure. Remember that content needs to encase in <mj-column>. There is an exception for grand components, such as <mj-navbar> and <mj-hero>. The <mj-column> should always be contained in the <mj-section>.


MJML enables users to develop responsive emails conveniently and easily. You do not have to be an expert to start creating responsive emails. MJML is easy to understand and learn. This gives beginners an ideal opportunity to perfect their skills.

Do you have any more tips to share with us? Leave them in the comment section below.


Publié 27 septembre, 2017


Software Developer

Lucy is the Development & Programming Correspondent for Freelancer.com. She is currently based in Sydney.

Article suivant

How To Learn CSS, JavaScript, And HTML With Thimble