Документация / 1С-Битрикс

Отправка почты в 1С-Битрикс через SMTP

«1С-Битрикс: Управление сайтом» по умолчанию отправляет письма функцией PHP mail(), поэтому на большинстве хостингов уведомления о заказах и заявки с форм либо не уходят вовсе, либо попадают в спам. В системе есть штатный модуль «Отправка почты через SMTP» — ниже настройка через него на fmailer.

Логин и пароль можно получить на странице управления токенами домена.

Параметры подключения

ПараметрЗначение
SMTP-хостsmtp.fmailer.ru
Порт587
ШифрованиеSTARTTLS (соединение переводится в TLS до авторизации)
ЛогинЛогин SMTP-токена вашего домена
ПарольПароль этого токена — показывается один раз, при создании
Каждый режим доступен и на высоком порту: 8465 (SSL/TLS), 8587 (STARTTLS) и 8025 (без шифрования). Многие хостинги и облака блокируют исходящие 25, 465 и 587 — если соединение отваливается по таймауту, используйте соответствующий высокий порт

Шаг 1 — включите модуль

Раздел управления SMTP-аккаунтами появляется только после включения модуля. Перейдите в Настройки → Настройки продукта → Настройки модулей → Отправка почты через SMTP и включите работу модуля.

Он входит в редакции Старт, Стандарт, Малый бизнес, Эксперт и Бизнес. Если раздела нет, отправку можно настроить на уровне PHP — см. ниже.

Шаг 2 — создайте SMTP-аккаунт

Перейдите в Сервисы → Отправка почты через SMTP → SMTP-аккаунты и добавьте аккаунт:

ПолеЗначение
Серверsmtp.fmailer.ru
Порт587
ШифрованиеTLS — то есть STARTTLS
ЛогинЛогин SMTP-токена вашего домена
ПарольПароль этого токена
Адрес отправителяnoreply@mail.example.ru — на подтверждённом домене
АктивностьДа
Модуль авторизуется механизмами LOGIN и PLAIN — этого достаточно: обычный SMTP-релей других и не требует. Ограничение относится только к корпоративным серверам Exchange.

Шаг 3 — проверьте адреса в почтовых событиях

Битрикс отправляет письма по шаблонам почтовых событий, и у каждого свой адрес в поле «От кого». Откройте Настройки → Настройки продукта → Почтовые события → Почтовые шаблоны и убедитесь, что везде стоит адрес на подтверждённом домене.

В шаблонах веб-форм часто подставляют адрес того, кто заполнил форму. Подпись DKIM и запись SPF вашего домена за чужой адрес не отвечают, DMARC не сходится, письмо уходит в спам. Оставьте свой адрес в «От кого», а адрес посетителя укажите в Reply-To.

Шаг 4 — проверьте отправку

Быстрее всего — вызвать штатную функцию bxmail(), через которую идут все письма сайта:

mail-test.phpphp
<?php
// Тестовая отправка через штатную функцию Битрикса.
// Положите файл в корень сайта, откройте в браузере и удалите.
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");

$result = bxmail(
    "you@example.ru",
    "Тест отправки",
    "Если письмо пришло — SMTP настроен.",
    "Content-Type: text/plain; charset=utf-8\r\n" .
    "From: Магазин <noreply@mail.example.ru>\r\n"
);

var_dump($result);

Журнал отправленных писем модуля доступен в разделе Сервисы → Отправка почты через SMTP — там видно, что именно ответил сервер.

Если модуль недоступен

Штатный модуль не обязателен: Битрикс всегда отправляет через bxmail(), которая опирается на настройки PHP. Направьте sendmail_path или SMTP-параметры php.ini во внешний релей — либо обработайте событие OnBeforeEventSend и отправьте письмо своим кодом:

/bitrix/php_interface/init.phpphp
; Если модуль SMTP недоступен в вашей редакции — можно направить
; всю почту сайта во внешний релей через настройку PHP.
; /bitrix/php_interface/init.php
AddEventHandler("main", "OnBeforeEventSend", "smtpMailHandler");

Разбор ошибок

СимптомПричина и решение
Раздела SMTP-аккаунтов нет Модуль не включён в настройках модулей, либо редакция его не содержит.
Ошибка подключения Хостинг блокирует порт — используйте 8587 или 8465.
Ошибка авторизацииНеверный логин или пароль токена.
Часть писем уходит, часть нет У некоторых почтовых событий нет активного шаблона для этого сайта.
Письма в спаме В «От кого» адрес на чужом домене. Замените на свой, посетителя — в Reply-To.
Кириллица в теме «кракозябрами» В шаблоне не указана кодировка UTF-8 в заголовках письма.

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

Где в 1С-Битрикс настраивается отправка почты через SMTP?

Сначала включите сам модуль: Настройки → Настройки продукта → Настройки модулей → Отправка почты через SMTP. После этого появится раздел Сервисы → Отправка почты через SMTP → SMTP-аккаунты, где создаётся аккаунт с хостом, портом, логином и паролем. Модуль доступен в редакциях Старт, Стандарт, Малый бизнес, Эксперт и Бизнес.

Почему 1С-Битрикс не отправляет письма с сайта?

По умолчанию Битрикс использует функцию PHP mail(), которая передаёт письмо локальному sendmail. На большинстве хостингов его либо нет, либо письмо уходит без авторизации и не проходит проверки SPF и DKIM у получателя, поэтому попадает в спам. Настройка SMTP-аккаунта решает обе проблемы.

Какой порт и тип шифрования указывать в SMTP-аккаунте Битрикса?

Порт 587 с включённым TLS — это STARTTLS. Либо порт 465 с SSL, где соединение шифруется сразу. Комбинация «SSL на 587» или «TLS на 465» приводит к ошибке подключения, которую Битрикс показывает как общий сбой отправки.

Почему письма о заказах уходят, а письма из веб-форм — нет?

У почтовых событий в Битриксе свои шаблоны и свой адрес отправителя: Настройки → Настройки продукта → Почтовые события. Проверьте, что у нужного типа события есть активный шаблон для этого сайта и что в поле «От кого» стоит адрес на подтверждённом домене, а не адрес посетителя из формы.

Что делать, если модуль SMTP недоступен в моей редакции?

Можно настроить отправку на уровне PHP — направить sendmail_path или SMTP-параметры php.ini во внешний релей, либо поставить сторонний модуль из Маркетплейса. Штатный модуль при этом не требуется: Битрикс всегда отправляет через функцию bxmail, а она использует настройки PHP.

Модуль не поддерживает GSSAPI и NTLM — это проблема?

Нет. Эти механизмы применяются в корпоративных серверах Exchange, а обычный SMTP-релей авторизует по логину и паролю через LOGIN или PLAIN, которые модуль поддерживает.

Почему письма из Битрикса попадают в спам?

Чаще всего в поле «От кого» у почтового события стоит адрес на Яндексе или Mail.ru. Подписи DKIM и запись SPF опубликованы на вашем домене и к чужому адресу не относятся, поэтому DMARC не сходится. Укажите адрес на подтверждённом домене во всех шаблонах почтовых событий.

Что дальше