Письмо покупателю «Ваш заказ принят» — это не текст в коде, а почтовый шаблон в 1С-Битрикс, привязанный к почтовому событию магазина. Разберём, где он лежит, какие поля #FIELD# в него можно подставить, как сделать письмо в HTML, зачем привязка к сайту и как проверить результат, не ломая боевой магазин.
Почтовое событие и почтовый шаблон — не одно и то же
В Битрикс письма устроены двухуровнево. Есть тип почтового события (например, SALE_NEW_ORDER — новый заказ, SALE_STATUS_CHANGED_N — смена статуса) — это «повод» отправить письмо и набор доступных данных. И есть почтовый шаблон — конкретное письмо с темой, текстом и оформлением, которое привязано к этому событию.
Когда в магазине что-то происходит, модуль sale вызывает отправку события и передаёт в него значения полей. Битрикс находит все активные шаблоны, привязанные к этому типу события и к нужному сайту, подставляет данные вместо #FIELD# и ставит готовое письмо в очередь на отправку.
b_event_type, шаблоны — в b_event_message, а сами письма в очереди отправки — в b_event. Понимание этой связки экономит часы при отладке «письмо не пришло».Где найти и отредактировать шаблон
Всё живёт в разделе Настройки → Настройки продукта → Настройки почтовых событий. Внутри три пункта:
- Типы почтовых событий — справочник событий и описание доступных в них полей;
- Почтовые шаблоны — сами письма, здесь вы их и редактируете;
- Почтовые события — очередь и журнал отправленных писем.
Открываете нужный шаблон (например, привязанный к SALE_NEW_ORDER) и видите ключевые поля: Отправитель (#DEFAULT_EMAIL_FROM#), Получатель (#EMAIL#), Тема письма, Тип почтового события, Сортировка, период активности и, самое главное, текст сообщения. Скрытая копия (#BCC#) часто используется, чтобы дублировать письмо о заказе на почту менеджера.
Доступные поля #FIELD#
Набор подстановок задаёт не шаблон, а тип события. Открыв тип в справочнике, вы увидите список полей, которые реально придут в письмо — использовать чужие поля бессмысленно, они останутся пустыми. Часть полей общие для всех событий, часть — специфичные для заказа.
| Поле | Что подставляется |
|---|---|
#ORDER_ID# | Номер (аккаунт-номер) заказа |
#ORDER_DATE# | Дата оформления |
#ORDER_STATUS# | Название статуса (для событий смены статуса) |
#PRICE# | Итоговая сумма заказа |
#ORDER_LIST# | Состав заказа текстом |
#EMAIL# | E-mail покупателя |
#SALE_EMAIL#, #DEFAULT_EMAIL_FROM# | Служебные адреса магазина |
#SERVER_NAME#, #SITE_NAME# | Домен и название сайта |
#ORDER_ID# — это «человеческий» аккаунт-номер, а не внутренний ID из базы. Для ссылок в личный кабинет и публичных ссылок оплаты нужен именно тот идентификатор, который ждёт публичная часть.HTML-письма вместо простого текста
По умолчанию магазинные шаблоны идут в виде простого текста. Чтобы прислать оформленное письмо с логотипом и кнопкой, у шаблона переключают тип сообщения с текстового на HTML (в базе это поле BODY_TYPE со значением html). После этого в теле письма можно писать полноценную вёрстку.
Почтовые клиенты капризны, поэтому верстают письма по правилам, отличным от сайта:
- раскладка — на
<table>, а не на flex/grid; - стили — инлайновые (
style="..."), внешние и многие внутренние CSS игнорируются Gmail и почтой Mail.ru; - картинки — по абсолютным ссылкам через
#SERVER_NAME#, иначе логотип не подтянется; - ширина макета — 600–640 px, чтобы письмо читалось на мобильном.
Подстановки #FIELD# работают в HTML так же, как в тексте — их можно вставлять внутрь ячеек таблицы, ссылок и атрибутов.
Привязка к событию и к сайту
Каждый шаблон обязательно привязан к типу события и к одному или нескольким сайтам (поле LID). Привязка к сайту критична для мультисайтовых магазинов: шаблон для основного домена не должен уходить покупателям второго сайта с чужим брендом и адресом.
Здесь же кроется частый подводный камень. К одному событию можно привязать несколько активных шаблонов — и тогда Битрикс отправит по письму на каждый из них. Если после установки решения или обновления покупатель начал получать два одинаковых письма о заказе, почти наверняка на событие SALE_NEW_ORDER висят два активных шаблона.
- Откройте список почтовых шаблонов и отфильтруйте по нужному типу события.
- Оставьте активным один нужный шаблон, лишние — деактивируйте (снимите активность или задайте период).
- Проверьте, что у активного шаблона верно указаны сайты.
ACTIVE_FROM / ACTIVE_TO) удобен для сезонных писем: например, праздничное оформление уведомления о заказе, которое само включится и выключится по датам.Брендирование и отправитель
Чтобы письма выглядели фирменно, а не как системная рассылка, приводят в порядок три вещи. Первое — адрес отправителя. Подстановка #DEFAULT_EMAIL_FROM# тянет значение из настроек главного модуля (Настройки → Настройки продукта → Настройки модулей → Главный модуль), поэтому корпоративную почту вида shop@domain.ru задают там, а не хардкодят в каждом шаблоне.
Второе — читаемое имя отправителя и осмысленная тема: Заказ №#ORDER_ID# принят — Название магазина вместо безликого «Уведомление». Третье — единый HTML-каркас: шапка с логотипом, тело с данными заказа, подвал с контактами и ссылкой на сайт через #SERVER_NAME#.
Как проверить письмо, не тревожа покупателей
В классических почтовых шаблонах нет кнопки «отправить тест», поэтому проверяют иначе. Самый безопасный способ — создать тестовый заказ на свой e-mail и прогнать его по нужным статусам: так вы увидите реальные #FIELD# с настоящими данными, а не заглушки.
Смотреть результат отправки удобно в разделе Настройки почтовых событий → Почтовые события — это очередь и журнал: видно, какое событие сработало, с какими полями и ушло ли письмо. Полезные приёмы:
- если письма «висят» в очереди и не уходят — проверьте агент отправки почты и cron, очередь
b_eventразбирается по расписанию; - для программной проверки письмо можно инициировать вызовом
\Bitrix\Main\Mail\Event::send()(или устаревшимCEvent::Send()) с нужнымEVENT_NAME,LIDи массивом полей; - на этапе отладки удобно временно направить копию через
#BCC#на почту разработчика.
Итог
Шаблоны email-уведомлений в 1С-Битрикс — это письма из раздела Настройки почтовых событий → Почтовые шаблоны, привязанные к типу события и к сайту. Ключевое: подставлять только те поля #FIELD#, что объявлены в типе события; для оформленных писем включать BODY_TYPE = html с инлайновыми стилями и абсолютными ссылками; следить, чтобы к одному событию не висело несколько активных шаблонов; проверять всё тестовым заказом и журналом почтовых событий.
Если писем стало приходить по два, шаблоны не переживают обновлений, а фирменные HTML-уведомления нужно собрать с нуля и подружить с доставляемостью (SPF/DKIM), мы настроим почтовые шаблоны магазина и отправку так, чтобы покупатель всегда получал одно понятное письмо вовремя.
Частые вопросы
Где в Битрикс редактируются письма о заказах?
В разделе Настройки → Настройки продукта → Настройки почтовых событий → Почтовые шаблоны. Нужный шаблон находят по привязанному типу события, например SALE_NEW_ORDER для нового заказа.
Почему подстановка #FIELD# осталась в письме как есть?
Скорее всего это поле не объявлено в данном типе события, поэтому подставлять нечего. Список реально доступных полей смотрите в справочнике Типы почтовых событий.
Как сделать письмо в HTML, а не простым текстом?
В шаблоне переключите тип сообщения на HTML (поле BODY_TYPE = html) и верстайте тело на таблицах с инлайновыми стилями. Внешние CSS и многие внутренние стили почтовые клиенты игнорируют.
Почему покупатель получает два одинаковых письма о заказе?
К одному типу события привязано несколько активных шаблонов, и Битрикс отправляет письмо по каждому. Оставьте активным один шаблон, лишние деактивируйте.
Зачем привязывать шаблон к сайту?
Поле LID определяет, для какого сайта действует шаблон. На мультисайтовом магазине это не даёт письму с чужим брендом и доменом уйти покупателям другого сайта.
Как задать корпоративный адрес отправителя?
Подстановка #DEFAULT_EMAIL_FROM# берёт адрес из настроек главного модуля. Меняйте его там, тогда он применится ко всем шаблонам сразу.
Как протестировать письмо, не рассылая его клиентам?
Создайте тестовый заказ на свой e-mail и проведите его по статусам. Результат отправки смотрите в разделе Почтовые события — это очередь и журнал писем.
Письма формируются, но не доходят до почты — почему?
Проверьте очередь b_event и агент отправки: письма уходят по cron. Отдельно смотрите доставляемость — без настроенных SPF, DKIM и DMARC письма попадают в спам.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.