«1С-Битрикс: Управление сайтом» по умолчанию отправляет письма функцией PHP mail(), поэтому на большинстве хостингов уведомления о заказах и заявки с форм либо не уходят вовсе, либо попадают в спам. В системе есть штатный модуль «Отправка почты через SMTP» — ниже настройка через него на fmailer.
| Параметр | Значение |
|---|---|
| SMTP-хост | smtp.fmailer.ru |
| Порт | 587 |
| Шифрование | STARTTLS (соединение переводится в TLS до авторизации) |
| Логин | Логин SMTP-токена вашего домена |
| Пароль | Пароль этого токена — показывается один раз, при создании |
Раздел управления SMTP-аккаунтами появляется только после включения модуля. Перейдите в Настройки → Настройки продукта → Настройки модулей → Отправка почты через SMTP и включите работу модуля.
Перейдите в Сервисы → Отправка почты через SMTP → SMTP-аккаунты и добавьте аккаунт:
| Поле | Значение |
|---|---|
| Сервер | smtp.fmailer.ru |
| Порт | 587 |
| Шифрование | TLS — то есть STARTTLS |
| Логин | Логин SMTP-токена вашего домена |
| Пароль | Пароль этого токена |
| Адрес отправителя | noreply@mail.example.ru — на подтверждённом домене |
| Активность | Да |
Битрикс отправляет письма по шаблонам почтовых событий, и у каждого свой адрес в поле «От кого». Откройте Настройки → Настройки продукта → Почтовые события → Почтовые шаблоны и убедитесь, что везде стоит адрес на подтверждённом домене.
Reply-To. Быстрее всего — вызвать штатную функцию bxmail(), через которую идут все письма сайта:
<?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 и отправьте письмо своим кодом:
; Если модуль SMTP недоступен в вашей редакции — можно направить
; всю почту сайта во внешний релей через настройку PHP.
; /bitrix/php_interface/init.php
AddEventHandler("main", "OnBeforeEventSend", "smtpMailHandler");| Симптом | Причина и решение |
|---|---|
| Раздела SMTP-аккаунтов нет | Модуль не включён в настройках модулей, либо редакция его не содержит. |
| Ошибка подключения | Хостинг блокирует порт — используйте 8587 или 8465. |
| Ошибка авторизации | Неверный логин или пароль токена. |
| Часть писем уходит, часть нет | У некоторых почтовых событий нет активного шаблона для этого сайта. |
| Письма в спаме | В «От кого» адрес на чужом домене. Замените на свой, посетителя — в Reply-To. |
| Кириллица в теме «кракозябрами» | В шаблоне не указана кодировка UTF-8 в заголовках письма. |
Сначала включите сам модуль: Настройки → Настройки продукта → Настройки модулей → Отправка почты через SMTP. После этого появится раздел Сервисы → Отправка почты через SMTP → SMTP-аккаунты, где создаётся аккаунт с хостом, портом, логином и паролем. Модуль доступен в редакциях Старт, Стандарт, Малый бизнес, Эксперт и Бизнес.
По умолчанию Битрикс использует функцию PHP mail(), которая передаёт письмо локальному sendmail. На большинстве хостингов его либо нет, либо письмо уходит без авторизации и не проходит проверки SPF и DKIM у получателя, поэтому попадает в спам. Настройка SMTP-аккаунта решает обе проблемы.
Порт 587 с включённым TLS — это STARTTLS. Либо порт 465 с SSL, где соединение шифруется сразу. Комбинация «SSL на 587» или «TLS на 465» приводит к ошибке подключения, которую Битрикс показывает как общий сбой отправки.
У почтовых событий в Битриксе свои шаблоны и свой адрес отправителя: Настройки → Настройки продукта → Почтовые события. Проверьте, что у нужного типа события есть активный шаблон для этого сайта и что в поле «От кого» стоит адрес на подтверждённом домене, а не адрес посетителя из формы.
Можно настроить отправку на уровне PHP — направить sendmail_path или SMTP-параметры php.ini во внешний релей, либо поставить сторонний модуль из Маркетплейса. Штатный модуль при этом не требуется: Битрикс всегда отправляет через функцию bxmail, а она использует настройки PHP.
Нет. Эти механизмы применяются в корпоративных серверах Exchange, а обычный SMTP-релей авторизует по логину и паролю через LOGIN или PLAIN, которые модуль поддерживает.
Чаще всего в поле «От кого» у почтового события стоит адрес на Яндексе или Mail.ru. Подписи DKIM и запись SPF опубликованы на вашем домене и к чужому адресу не относятся, поэтому DMARC не сходится. Укажите адрес на подтверждённом домене во всех шаблонах почтовых событий.