Email клиенты известны своей плохой (и несогласованной) поддержкой HTML и CSS. MJML – это язык разметки, разработанный для уменьшения боли при создании адаптивных электронных писем.
https://github.com/mjmlio/mjml
Пример кода MJML:
<mjml lang="en">
<mj-head>
<mj-include path="./styles.css" type="css" />
<mj-font name="MyFont" href="https://cdn.mysite.com/fonts/MyFont.css" />
<mj-all font-family="MyFont,-apple-system,blinkmacsystemfont,roboto,helvetica neue,segoe ui,arial,sans-serif"></mj-all>
</mj-head>
<mj-body>
<mj-section>
<mj-column>
<mj-include path="_header.mjml" />
<mj-text>
<p>Hello World!</p>
</mj-text>
<mj-include path="_footer.mjml" />
</mj-column>
</mj-section>
</mj-body>
</mjml>
Затем запуск mjml input.mjml -o output.html
сгенерирует ужасный HTML код,
который будет корректно отображен в почтовых клиентах.