Как настроить почту на 1С-Битрикс: SMTP, события и доставка писем с сайта

Форма на сайте показывает "Спасибо, заявка отправлена", а письма нет ни во входящих, ни в спаме. По запросу «битрикс настройка почты» половина статей ведёт в Bitrix24 и IMAP-ящики сотрудников. Вам нужна другая задача — исходящая почта CMS «1С-Битрикс: Управление сайтом». Ниже — как включить SMTP, настроить профиль в админке, проверить очередь b_event и SPF/DKIM, чтобы заявки доходили на Gmail или Mail.ru.

Исходящие письма с сайта на CMS идут через почтовые события и шаблоны (FEEDBACK_FORM, SALE_NEW_ORDER), а не через модуль "Почта" для входящих. С версии main 21.900.0 сначала включите секцию smtp в /bitrix/.settings.php, затем добавьте профиль в "Настройки SMTP". Для порта 465 укажите ssl://smtp.yandex.ru в поле сервера - иначе админка может вернуть 504. Проверка: тестовое письмо во входящие и SUCCESS_EXEC = Y в b_event.

Bitrix24 — это CRM в облаке, не наш продукт; «Управление сайтом» — коробочная CMS на вашем хостинге. Если настраивали почту по статьям про облачную CRM, заявки с сайта все равно не придут. На практике маркетологи подключают IMAP в CRM — а FEEDBACK_FORM на сайте шлёт через почтовые события CMS. Если сайт ещё не запущен, начните с гайда по созданию сайта для бизнеса.

SMTP (Simple Mail Transfer Protocol) - это "официальный канал" отправки писем через логин и пароль на почтовом сервере, как в Outlook или Thunderbird. PHP mail - устаревший способ "кинуть письмо с сервера без авторизации"; shared-хостинг часто его режет, и письма не доходят. Ниже - пять блоков: зачем SMTP, диагностика, настройка, DNS и финальный чек-лист.

Настройте SMTP вместо PHP mail на CMS

Сравнение PHP mail, SMTP и msmtp для почты на Битрикс

На shared-хостинге PHP mail часто отключен или уходит в спам: сервер не "знаком" получателю. SMTP через Яндекс 360, Mail.ru для бизнеса или корпоративный ящик дает авторизованную отправку с вашего домена. На виртуальной машине VMBitrix иногда используют msmtp - системную утилиту, которая подменяет mail на уровне ОС; на обычном тарифе у Beget проще встроенный UI "Настройки SMTP".

Способ Где работает Доставляемость Когда брать
PHP mail Shared-хостинг Низкая, часто в спам Не рекомендуем для заявок
SMTP в админке CMS main 21.900.0+, любой хостинг Высокая при SPF/DKIM Основной путь для бизнеса
msmtp на VMBitrix Виртуальная машина Bitrix Высокая при настройке.msmtprc Когда нет UI или нужен системный уровень

Делайте: переходите на SMTP до запуска рекламы. Не делайте: не полагайтесь на mail, если форма "молчит" - проверьте disable_functions у хостера. Подробнее про выбор сервера - в материале про хостинг для сайта на Битрикс.

Проверьте, почему письмо с сайта не дошло до inbox

Чеклист диагностики: почему письмо с Битрикс не дошло до inbox

CMS складывает исходящие письма в очередь b_event. Поле SUCCESS_EXEC показывает судьбу записи: Y — отправлено, F — ошибка, 0 или N — ждёт агента cron. Откройте «Настройки → Почтовые и СМС события → Журнал» или выполните SQL-запрос к таблице b_event (последние 10 записей по ID).

SELECT ID, EVENT_NAME, SUCCESS_EXEC, DATE_INSERT
FROM b_event
ORDER BY ID DESC
LIMIT 10;

Типичная ошибка — «тишина» без записи в журнале: нет активного шаблона для EVENT_NAME или шаблон не привязан к SITE_ID. Ещё варианты: в dbconn.php включён custom_mail, агенты не отрабатывают без cron. Для отладки разработчик может вызвать Event::sendImmediate — немедленная отправка без очереди.

Схема цепочки:
Форма на странице → почтовое событие (тип FEEDBACK_FORM) → почтовый шаблон (текст письма) → очередь b_event → SMTP → inbox получателя

Делайте: после каждой тестовой заявки смотрите последнюю строку b_event. Не делайте: не путайте модуль «Сервисы → Почта» (входящие POP3/IMAP) с исходящими уведомлениями — это разные разделы админки.

Включите SMTP в.settings.php и добавьте профиль в админке

Схема: включить SMTP в.settings.php и профиль в админке Битрикс

С main 21.900.0 UI "Настройки SMTP" появляется только после секции smtp в /bitrix/.settings.php. Без этого шага сохранение профиля может зависнуть и вернуть 504 Gateway Time-out.

  1. Откройте /bitrix/.settings.php. В массиве value добавьте секцию smtp с enabled = true (подробности в документации по настройкам ядра).
  2. В админке: "Настройки - Настройки продукта - Почтовые и СМС события - Настройки SMTP - Добавить".
  3. Для Яндекс 360: сервер ssl://smtp.yandex.ru, порт 465, логин - полный e-mail, пароль - пароль приложения (не основной пароль аккаунта).
  4. Заполните "E-mail отправителя" и "Имя отправителя". Нажмите "Проверить" - тест должно прийти на указанный ящик.
  5. Убедитесь, что активен почтовый шаблон для FEEDBACK_FORM: поля "От кого" и "Кому", привязка к вашему сайту (s1, s2...). Связка формы и шаблона - в гайде по форме обратной связи.
  6. Отправьте заявку с сайта. В b_event ищите SUCCESS_EXEC = Y в течение 1-2 минут.

Ошибка 535 Authentication failed — типичная ошибка при неверном пароле: создайте пароль приложения в настройках Яндекс ID и вставьте его в профиль SMTP. После сохранения профиля вы получите тестовое письмо и сможете запустить проверку формы с внешней почты.

Делайте: для порта 465 всегда пишите ssl:// перед адресом сервера. Не делайте: не сохраняйте профиль без предварительного enabled в.settings.php - это главный источник 504 на форумах 1С-Битрикс.

Если DNS, cron и шаблоны уже проверены, а правки в.settings.php не ваш профиль - напишите нам: настроим SMTP и доставляемость под ваш домен.

Настройте SPF, DKIM и From домена, чтобы письма не уходили в спам

SMTP "работает", но письмо в спаме - классика. Причина: в шаблоне From = noreply@gmail.com, а отправка идет с smtp.yandex.ru и вашего домена. Почтовые сервисы видят несовпадение и понижают репутацию.

SPF (TXT-запись в DNS) говорит: "этому серверу можно слать от имени домена". DKIM - цифровая подпись письма; DMARC - политика "что делать, если SPF/DKIM не сошлись". Для Яндекс 360 DKIM включают в панели почты для домена; SPF часто выглядит как v=spf1 include:_spf.yandex.net ~all.

  • From в шаблоне = тот же ящик, что логин SMTP (например info@yourdomain.ru).
  • Добавьте SPF и DKIM в DNS у регистратора или хостинга.
  • Отправьте тест на внешний Gmail, откройте "Показать оригинал" - ищите spf=pass и dkim=pass.
  • Дополнительно прогоните письмо через сервис mail-tester.com - он покажет слабые места до запуска трафика.

Делайте: совмещайте From, SMTP-логин и домен в DNS. Не делайте: не меняйте From на чужой домен "для красоты" - это прямой путь в спам.

Пройдите чек-лист: b_event, форма и тест с внешней почты

Перед включением рекламы пройдите короткий контрольный список. Он перекликается с чек-листом после запуска сайта, но сфокусирован на почте.

  1. Тестовая заявка с компьютера - письмо во входящих (не только "отправлено" на экране).
  2. Повтор с мобильного браузера - те же поля и тот же шаблон.
  3. b_event: последняя запись SUCCESS_EXEC = Y.
  4. Заголовки письма: spf=pass, dkim=pass.
  5. Повторная заявка через 5 минут - стабильная доставка без задержки больше 2 минут.
  6. Проверка спам-папки на стороне получателя - один раз, до правок DNS.

После запуска следите за журналом событий раз в неделю: смена пароля приложения Яндекс ломает SMTP до обновления профиля в админке.

Примеры настроенных проектов с рабочей почтой и формами - в портфолио. Нужна помощь с msmtp на VMBitrix или миграцией с mail - снова обсудим задачу.

Автор: Максим Мольков, разработчик 1С-Битрикс.
Источники: dev.1c-bitrix.ru и docs.1c-bitrix.ru..

Частые вопросы

Куда вставить SMTP в Битрикс CMS?

Сначала включите секцию smtp (enabled true) в /bitrix/.settings.php для main 21.900.0+. Затем в админке: "Настройки - Почтовые и СМС события - Настройки SMTP - Добавить". Поля: сервер с ssl:// для порта 465, логин, пароль приложения, e-mail и имя отправителя.

Почему письма с сайта уходят в спам при рабочем SMTP?

Чаще всего From в шаблоне не совпадает с доменом SMTP-логина или нет SPF/DKIM в DNS. Выровняйте From, логин и TXT-записи, отправьте тест на Gmail и проверьте spf=pass и dkim=pass в заголовках.

Чем почтовое событие отличается от почтового шаблона?

Событие - тип письма (FEEDBACK_FORM, SALE_NEW_ORDER): CMS знает, какое "имя" передать в очередь. Шаблон - конкретный текст с полями #NAME#, "От кого", "Кому" и привязкой к SITE_ID. Без активного шаблона для типа события b_event может остаться пустым.

Нужен ли SMTP для формы обратной связи?

Форма создает почтовое событие; доставка идет через bxmail, который учитывает SMTP-профиль из админки. На shared-хостинге без SMTP письма часто не доходят. Настройте SMTP до теста формы с внешней почты.

Что значит 504 при сохранении профиля SMTP?

Обычно админка не может установить SSL-соединение с сервером: для порта 465 укажите ssl://smtp.yandex.ru в поле сервера, не просто smtp.yandex.ru. Убедитесь, что smtp enabled в.settings.php до работы в UI.

Где смотреть, отправилось ли письмо?

В "Почтовые и СМС события - Журнал" или SQL по таблице b_event: SUCCESS_EXEC = Y означает успех. F - ошибка на этапе отправки; 0 или N - ждет cron-агента.

Можно ли использовать обычный пароль Яндекс вместо пароля приложения?

Нет. Для SMTP в Битрикс нужен пароль приложения из настроек Яндекс ID. Основной пароль аккаунта даст ошибку 535 Authentication failed даже при верном логине.

Обсудить вашу задачу

Было полезно?

Поставьте лайк, если статья помогла разобраться.

Поделиться статьёй

Отправьте тому, кому это пригодится.

Telegram ↗ MAX ↗ ВКонтакте ↗ Одноклассники ↗
Все статьи ↗

Как настроить регистрацию и личный кабинет покупателя на 1С-Битрикс?

Структура шаблонов сайта в Битриксе и поиск header footer

Как настроить скидки и промокоды на 1С-Битрикс: правила корзины и купоны