Скомпилировать MJML-письмо в HTML

Проверьте самостоятельный MJML строгим официальным компилятором и скачайте HTML для почтовой рассылки.

Выберите исходный файл

Можно перетащить файл сюда

MJMLXMLTXT

До 250000 байт MJML, 2000 элементов и 40 уровней вложенности; HTML до 20 МБ.

Для обработки данные передаются нашему серверу. Временные рабочие файлы удаляются; история файлов не создаётся.

Данные передаются серверу для выбранной обработки. История файлов не создаётся.

Как пользоваться

Принимается один самостоятельный документ в UTF-8. Включения файлов, пользовательские конфигурации и веб-шрифты здесь отключены; обычные URL изображений сохраняются.

  1. Вставьте самостоятельный MJML или загрузите UTF-8 файл до 250000 байт.
  2. Уберите mj-include, mj-font и внешние CSS; запустите строгую компиляцию.
  3. При ошибке исправьте указанную структуру компонентов; после успеха скачайте HTML и сделайте тестовую отправку.

Пример

Вымышленное уведомление о заказе №42

Исходные данные
MJML с Arial, текстом «Заказ №42 готов» и кнопкой https://example.com/order/42.

Нажмите «Пример» и запустите компиляцию без дополнительных настроек.

Что получится
email-compiled.html с адаптивными таблицами и ссылкой «Открыть заказ»; стандартные Google Fonts не импортируются.
Форматы и ограничения

Официальный компилятор MJML 5.4.1 превращает компоненты письма в HTML-таблицы и CSS. В режиме strict ошибка компонента останавливает создание результата.

На входе
MJML UTF-8
Результат
HTML UTF-8

email-compiled.html с адаптивными таблицами и ссылкой «Открыть заказ»; стандартные Google Fonts не импортируются.

  • До 250000 байт MJML, 2000 элементов и 40 уровней вложенности; HTML до 20 МБ.
  • Сумма символов CSS и атрибутов MJML × число элементов — до 8000000, чтобы ограничить разрастание style.
  • Официальный MJML 5.4.1, validationLevel strict. mj-include, mj-font, mj-html-attributes, внешние @import и активное HTML-содержимое отклоняются, включая условные комментарии.
  • Конфигурации .mjmlconfig, пользовательские компоненты, пути к файлам и препроцессоры из запроса не принимаются. Импорт стандартных веб-шрифтов отключён.
  • Внешние изображения и обычные ссылки остаются URL без загрузки сервером. Компиляция не отправляет письмо и не гарантирует одинаковую работу во всех версиях Outlook/Gmail.

Найдите текст заказа и целевой href в HTML; проверьте адаптивные @media и отсутствие оставшихся MJML-тегов. Проведите тестовую отправку с вашим почтовым сервисом.

Исходный файл или текст передаётся серверу для обработки. Обработчик работает в памяти и не записывает содержимое писем или шаблона в постоянные файлы. Внешние CSS, изображения и ссылки сервер не загружает. Скачанный HTML не отображается на странице.

Исходный файл или текст передаётся серверу для обработки. Обработчик работает в памяти и не записывает содержимое писем или шаблона в постоянные файлы. Внешние CSS, изображения и ссылки сервер не загружает. Скачанный HTML не отображается на странице. Проверяйте тестовую отправку; компиляция не подтверждает доставляемость и совместимость всех клиентов.

Вопросы об инструменте

Используется ли настоящий компилятор MJML?

Да. Официальный MJML 5.4.1 разворачивает компоненты в HTML и проверяет их в режиме strict. Ошибка структуры останавливает выдачу файла; результат не строится простой заменой тегов.

Почему не работает mj-include?

Включения явно запрещены до компиляции. Соберите один самостоятельный документ локально и вставьте содержимое зависимых шаблонов. Сервер не читает пути к файлам и не загружает шаблоны по URL.

Почему не загружаются Google Fonts и mj-font?

Стандартные веб-шрифты отключены параметром fonts: {}, а mj-font отклоняется. Укажите стек системных шрифтов, например Arial, sans-serif; наличие конкретного шрифта зависит от устройства получателя.

Что делать с ошибкой расположения mj-text?

Поместите mj-text внутрь mj-column, а колонку — внутрь mj-section в mj-body. Strict проверяет допустимые родительские компоненты и их атрибуты. Не убирайте проверку ради выдачи ошибочного письма.

Можно ли использовать mj-raw?

Можно для пассивной HTML-разметки, например самостоятельной таблицы. Активные теги, обработчики событий, внешние CSS и опасные URL запрещены также внутри mj-raw. Такой блок не получает автоматическую адаптивную раскладку компонентов MJML.

Можно ли сразу отправить результат подписчикам?

HTML можно перенести в ваш сервис рассылки, но сначала нужна тестовая отправка. Инструмент не создаёт MIME-письмо, не прикрепляет cid-изображения, не проверяет доставляемость и не подтверждает одинаковый вид во всех почтовых клиентах.

Разобраться в задаче

Все инструкции
Инструменты разработчика6 мин

MJML в HTML: собрать самостоятельный шаблон и пройти strict

Исправьте структуру MJML, замените includes и веб-шрифты, проверьте raw-блоки и подготовьте HTML к тестовой отправке.

Читать инструкцию