Скомпилировать MJML-письмо в HTML
Проверьте самостоятельный MJML строгим официальным компилятором и скачайте HTML для почтовой рассылки.
Можно перетащить файл сюда
MJMLXMLTXT
До 250000 байт MJML, 2000 элементов и 40 уровней вложенности; HTML до 20 МБ.
Для обработки данные передаются нашему серверу. Временные рабочие файлы удаляются; история файлов не создаётся.
Как пользоваться
Принимается один самостоятельный документ в UTF-8. Включения файлов, пользовательские конфигурации и веб-шрифты здесь отключены; обычные URL изображений сохраняются.
- Вставьте самостоятельный MJML или загрузите UTF-8 файл до 250000 байт.
- Уберите mj-include, mj-font и внешние CSS; запустите строгую компиляцию.
- При ошибке исправьте указанную структуру компонентов; после успеха скачайте 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-изображения, не проверяет доставляемость и не подтверждает одинаковый вид во всех почтовых клиентах.