HTML-письмо в Power Automate: дизайн Mailvex и отправка через Outlook
Перенесите полный HTML в Send an email (V2), проверьте письмо на своём адресе и при необходимости добавьте имя через Compose.
Mailvex · 24 октября 2026 · 11 мин чтения

Если вы используете Microsoft 365 для рабочих уведомлений, дизайн письма можно подготовить в Mailvex, а отправку поручить Power Automate. В этом примере вы создадите простое подтверждение заявки, перенесёте HTML в Send an email (V2) и отправите письмо на собственный адрес. После проверки статической версии можно отдельно добавить имя получателя.
Инструкция предназначена для владельцев автоматизаций и небольших команд, которым нужен редактируемый шаблон уведомления. Здесь используется ручной перенос HTML, без специального коннектора Mailvex. Шаги опираются на документацию и проверку исходного кода Mailvex от 24 октября 2026 года; описанный поток нами не запускался. Итоговую совместимость проверяйте по письму, которое получите в своём окружении.
Что подготовить перед началом
Основной путь рассчитан на рабочую или учебную учётную запись Microsoft 365 с подходящим почтовым ящиком и разрешённым подключением в вашем окружении Power Automate. Коннектор Office 365 Outlook может отображаться как Microsoft 365 Outlook. Личный Outlook.com — отдельный коннектор; не выбирайте его только из-за похожего названия.
- Доступ к Power Automate и своему рабочему ящику. Office 365 Outlook относится к Standard: Premium не является обязательным только из-за этого действия. Доступность вашего сценария зависит также от аккаунта, лицензий и правил организации.
- Аккаунт Mailvex с подтверждённым email и доступной квотой экспорта. Подпись Mailvex может входить в результат согласно плану; на Free она предусмотрена.
- Собственные изображение и рабочая ссылка для кнопки. Для теста достаточно обычного подтверждения без персональных или конфиденциальных данных.
- Свой фиксированный адрес получателя и доступ к нужным вариантам Outlook, включая мобильный клиент, если он используется в вашей работе.

Подготовьте простой шаблон уведомления, который сможете редактировать отдельно от потока отправки.
Создать письмо в Mailvex1. Соберите статическое письмо в Mailvex
Выберите простой одноколоночный шаблон и создайте на его основе своё письмо. Сохраните проект с понятным именем, например «Подтверждение заявки — тест Outlook». Замените примерные тексты, изображение и футер. На первом проходе не добавляйте имя пользователя, таблицы из данных или условия показа: сначала проверьте сам путь HTML до почтового клиента.
- Заголовок: «Мы получили вашу заявку».
- Основной текст: «Спасибо за обращение. Команда рассмотрит заявку и ответит по указанному вами каналу связи».
- Дополнительный абзац: «Справочная информация и способы связи доступны на нашей странице поддержки».
- Кнопка: «Открыть страницу поддержки», с настоящим адресом вашей страницы. Не обещайте срок ответа, если он не согласован.
Удалите незаполненные переменные вроде {{first_name}} и {{unsubscribe_url}}; нужные служебные ссылки замените действительными адресами. У условных блоков справа откройте «Условие показа (ESP)» и выключите «Показывать по условию». Скрытие в предпросмотре не снимает условие экспорта. Проверьте прехедер, футер, альтернативный текст картинки и узкий предпросмотр.
2. Скопируйте полный HTML один раз
Откройте «Экспорт HTML». В поле «Формат переменных (ESP)» оставьте профиль mailvex для статического примера. Он определяет формат переменных, а не подключает Microsoft 365 и не подставляет сведения о получателе. Демонстрационные данные в предпросмотре тоже не становятся реальными данными экспорта.
- В режиме изображений Mailvex сохраняются размещённые URL; внешние ресурсы могут остаться на своих хостах. Проверьте, что адреса открываются без входа в редактор.
- Режим «Свои» требует самостоятельно разместить файлы по нужным адресам. Введение базового URL не загружает изображения на ваш сервер.
- Нажмите только «Скопировать HTML». Для локальной копии сохраните уже скопированный исходный код в обычный текстовый файл с расширением .html; дополнительное скачивание не требуется.
Сохраните весь экспорт и исходный визуальный проект. Не отделяйте тело письма от CSS: в этом сценарии переносится полный документ. Копирование учитывается как экспорт, поэтому перед повторением проверяйте остаток квоты. Изображения не становятся вложениями автоматически, а изменение проекта позднее не обновляет код, уже сохранённый в Power Automate.
3. Создайте ручной поток
В Power Automate выберите Create → Instant cloud flow. Укажите имя, например «HTML notification — own mailbox test», выберите Manually trigger a flow и нажмите Create. Входные поля триггера для статической версии не нужны. Ручной запуск позволяет контролировать момент отправки до подключения реальных событий и получателей.
4. Добавьте Outlook и заполните адреса
После триггера добавьте действие Send an email (V2) коннектора Office 365 Outlook и подключите разрешённую рабочую учётную запись. Для первого теста заполните только основные поля. Не указывайте других получателей, CC, BCC или переопределение From: отправка от другого ящика требует отдельной настройки разрешений.
| Поле | Значение для первого теста |
|---|---|
| To | Ваш собственный фиксированный адрес |
| Subject | Тест: заявка получена |
| Body | Полный HTML из Mailvex, через режим исходного кода внутри поля |
5. Вставьте код именно в HTML-режим Body
В редакторе поля Body нажмите </>, удалите исходное содержимое и вставьте полный HTML, скопированный из Mailvex. Это редактируемый режим HTML внутри тела письма. Вкладка Code view самого действия показывает JSON и доступна только для чтения; туда исходник письма не вставляют.
Отдельный флаг IsHtml для этого действия V2 не нужен. Сохраните исходную копию: наличие HTML-поля не гарантирует сохранение всех стилей head, адаптивных правил, MSO-комментариев или VML. Если предпросмотр отличается от проекта, отметьте различие и проверьте реальное письмо, прежде чем усложнять поток.
6. Запустите тест и проверьте полученное письмо
Сохраните поток: Save → Test → Manually → Test → Run flow → Done. Это настоящая отправка на указанный To. Затем откройте историю запусков и результаты действий. Перед повторным запуском посмотрите, завершилась ли предыдущая отправка: новый запуск может создать ещё одно письмо.
- Проверьте адрес отправителя, тему и текст в полученном письме, а не только успешный статус действия.
- Откройте кнопку и сравните конечный адрес с ожидаемым, включая параметры ссылки.
- Проверьте картинку, её альтернативный текст и содержимое при блокировке изображений.
- Посмотрите письмо в нужном Outlook и на телефоне: ширину, переносы, отступы и доступность кнопки.
- Проверьте прехедер, футер, подпись плана и отсутствие демонстрационных переменных. Сохраните замечания к этой версии.
Успешное действие не доказывает попадание во «Входящие» или точность вёрстки. При отсутствии письма проверьте нежелательную почту, правила ящика и сведения запуска. Разные версии Outlook могут отображать один HTML по-разному. Исправьте заметные проблемы в статическом образце и только затем переходите к подстановкам.
Необязательно: добавьте имя через четыре Compose
Следующий вариант подставляет одно имя только в обычный видимый текст. Получатель остаётся вашим фиксированным адресом. Это пример на документированных функциях, а не готовая обработка произвольных данных или массовая рассылка. Для динамической таблицы, адреса ссылки или HTML-атрибута потребуются отдельные правила проверки и формирования содержимого.
Подготовьте единственный маркер
В исходном проекте Mailvex замените приветствие на «Здравствуйте, PA_NAME_SLOT!». Маркер PA_NAME_SLOT должен встретиться ровно один раз в обычном тексте тела: не в теме, прехедере, изображении, URL, атрибуте или CSS. Проверьте точное число вхождений в экспортированном коде, а не только видимый макет.
В заголовочном блоке отключите «Ссылка “Смотреть в браузере”» → «Показывать ссылку». Отдельная веб-версия Mailvex не получает подстановки Power Automate и иначе может показать маркер. Повторно выполните «Скопировать HTML» с учётом квоты. Кнопка при этом сохраняет настоящую статическую ссылку; обязательного отключения UTM здесь нет.
Compose 1: RecipientName_raw
Перед Send an email (V2) добавьте Compose из Data Operation. Сразу переименуйте действие в RecipientName_raw. В обычное поле Inputs введите Ana & Bruno без кавычек. Это исходный текст, не выражение. Все четыре действия добавляйте последовательно и переименовывайте до создания зависимых выражений.
Compose 2: RecipientName_html
Следом добавьте Compose с именем RecipientName_html. В Inputs откройте fx, вставьте выражение ниже и нажмите Add. Не добавляйте @ или @{...}. Сохраняйте обычные прямые кавычки и точные имена действий:
replace( replace( replace( string( outputs('RecipientName_raw') ), '&', '&' ), '<', '<' ), '>', '>' )
Амперсанд обрабатывается первым, затем угловые скобки. Для нашего исходного имени ожидается Ana & Bruno. Преобразуется только имя как текст внутри HTML, не весь документ. Это не универсальная очистка HTML и не способ подготовить значение для ссылки или атрибута.
Compose 3: Email_html
Добавьте Compose с именем Email_html. В обычное поле Inputs вставьте полный новый экспорт с единственным PA_NAME_SLOT. Здесь не нужен fx, а вокруг документа не нужно ставить кавычки. Этот шаг хранит HTML-шаблон, в котором заменяется только подготовленный маркер.
Compose 4: Email_ready
Добавьте Compose с именем Email_ready. В Inputs через fx вставьте следующее выражение и нажмите Add:
replace( outputs('Email_html'), 'PA_NAME_SLOT', outputs('RecipientName_html') )
Если имя действия получилось другим, используйте соответствующий динамический Outputs, а не угадывайте ссылку. Лучше сразу сохранить указанные уникальные имена: выражения обращаются к ним. Регистр PA_NAME_SLOT тоже должен совпадать с шаблоном.
Передайте результат в Body и повторите тест
В Send an email (V2) полностью очистите Body, включая оставшуюся HTML-обёртку абзаца в исходном режиме. Вставьте только динамический Outputs действия Email_ready. Альтернатива — через fx поля Body добавить выражение ниже и нажать Add. Не вводите слово Outputs или формулу как обычный текст:
outputs('Email_ready')
Сохраните поток и повторите ручной тест на свой адрес, предварительно проверив предыдущий запуск. Посмотрите результаты Compose: в RecipientName_html ожидается Ana & Bruno, в Email_ready маркер отсутствует. Полученное письмо должно показывать Ana & Bruno как обычное имя. Это ожидаемый результат проверки, а не отчёт о выполненном нами запуске.
Когда пример пройдёт проверку, отдельно сопоставьте реальное текстовое поле имени из вашего триггера с RecipientName_raw. Не подставляйте непроверенный путь свойства из чужого примера. Проверьте пустые значения, источник данных, число событий и риск повторной отправки до подключения настоящих получателей.
Если результат отличается от ожидаемого
| Проблема | Что проверить |
|---|---|
| В письме виден HTML-код | Исходник вставлен через </> внутри Body; динамическое значение добавлено как Outputs или fx, не как обычная формула. |
| PA_NAME_SLOT остался | Точное написание, одно вхождение в Email_html и передача Email_ready в Body. |
| В имени видны & или < | RecipientName_raw содержит обычный текст, а не уже экранированное значение; весь HTML не кодируется повторно. |
| Картинка недоступна | Публичный URL открывается без авторизации; файл размещён и не удалён. |
| Кнопка ведёт не туда | Конечный адрес и параметры в исходном проекте и полученном письме. |
| Изменились стили или ширина | Сравните исходный экспорт и полученный результат; обработка head CSS и особенности Outlook могут влиять на оформление. |
| Действие успешно, письма не видно | Адрес To, историю запуска, нежелательную почту и правила ящика; успех действия не равен видимости во «Входящих». |
Как поддерживать шаблон после первого теста
Редактируйте дизайн в исходном проекте Mailvex и храните версию HTML вместе с датой изменения потока. Для статического варианта заменяйте Body. Для варианта с именем обновляйте Email_html, сохраняя единственный маркер и привязку Body к Email_ready. Простая замена Body новым статическим кодом удалит подстановку.
После правки повторяйте проверку на свой адрес, включая кнопку, изображения и мобильный вид. Сохраняйте ресурсы, используемые отправленными письмами. Перед включением в рабочий поток отдельно продумайте проверку данных, повторные события и разрешения: ручной пример не решает эти задачи автоматически.
Частые вопросы
Нужен ли Premium для HTML-письма?
Не автоматически: Office 365 Outlook — Standard. Нужны подходящие доступы Power Automate и почтового ящика. Условия вашего окружения уточняйте отдельно; бесплатный доступ не означает наличие любого рабочего ящика или разрешение на общий корпоративный сценарий.
Можно ли вставить полный экспорт?
В этом пути полный HTML вставляется в источник Body. Это не обещание неизменного сохранения каждого элемента документа. Оставляйте исходную копию и принимайте результат по реальному письму в нужных клиентах.
Можно ли сразу добавить таблицу из данных?
Сначала проверьте статическое письмо. Для таблицы отдельно задаются структура строк, обработка пустых значений и экранирование текстовых ячеек. Формула для одного имени не заменяет проектирование динамического HTML.
Обновится ли поток после правки в Mailvex?
Нет, ранее перенесённый HTML остаётся прежним. Экспортируйте новую версию, обновите нужное поле потока и выполните контрольную отправку. Исходный визуальный проект остаётся местом последующих изменений.
Для следующего уведомления выберите простой шаблон и сохраните ту же последовательность: дизайн, HTML, ручной тест, полученное письмо.
Выбрать шаблон уведомления