Top.Mail.Ru
Если авторизоваться не получается, то попробуйте восстановить пароль. Если у вас нет аккаунта на сайте, то вы можете зарегистрироваться.
Если авторизоваться не получается, то попробуйте восстановить пароль. Если у вас нет аккаунта на сайте, то вы можете зарегистрироваться.
Если авторизоваться не получается, то попробуйте восстановить пароль. Если у вас нет аккаунта на сайте, то вы можете зарегистрироваться.

Письма с сайта на 1С-Битрикс не доходят или падают в спам: как починить

3 июня 2026
Заметки программиста

Заявка с сайта оформлена, а письмо клиенту не пришло. Менеджер не получил уведомление о заказе. Восстановление пароля «висит», а письмо лежит в «Спаме». Если такое случается регулярно — проблема не в почтовом сервисе клиента, а в настройках вашего сайта.

В статье — два рабочих способа настроить отправку и пошаговые чек-листы, чтобы проверить результат прямо из админки 1С-Битрикс. Без сложной теории, по делу.

Почему письма не доходят

Современные почтовые сервисы (Gmail, Яндекс, Mail.ru, корпоративные почты на Microsoft 365) с 2024 года ужесточили требования к входящим письмам. Если письмо не подтверждает, что отправлено с разрешённого сервера — оно либо попадает в спам, либо отбрасывается совсем.

Три самых частых причины проблемы:

  1. Сервер сайта отправляет письма от имени домена, который ему «не разрешал» этого делать. Почтовик получателя видит: «Письмо якобы от @вашдомен.ru, но прилетело с непонятного IP» — и помечает его как спам.
  2. На стороне сайта используется системный sendmail, но в DNS нет SPF-записи. Технически письмо уходит, но получатель ему не доверяет.
  3. Адрес отправителя — публичный (@gmail.com, @yandex.ru), а отправляется он с сервера хостинга. Для публичных доменов это запрещено политикой почтовых сервисов — такие письма отбрасываются почти всегда.

Дальше — как это починить.

Шаг 1. Диагностика: почему именно у вас не отправляется

Прежде чем что-то настраивать, нужно понять, на каком этапе ломается отправка. Пройдитесь по списку — это займёт 10 минут.

Чек-лист первичной диагностики

  1. Проверьте, что письма вообще уходят с сайта.
    В админке откройте Настройки → Инструменты → Командная PHP-строка и выполните:

    $result = bxmail(
        'ваш-личный@email.ru',
        'Тест отправки с сайта',
        'Если письмо пришло — sendmail работает.'
    );
    var_dump($result);

    Если в ответе bool(true) — сервер письмо принял. Если bool(false) — проблема на уровне сервера (пишите в техподдержку хостинга).

  2. Проверьте журнал событий в Битриксе.
    Настройки → Инструменты → Журнал событий. Фильтр по типу «MAIL». Если там ошибки MAIN_MAIL_SEND_ERROR — письмо не ушло с сервера. Если ошибок нет, но письма не приходят — проблема на стороне получателя (SPF, попадание в спам).

  3. Посмотрите, от какого адреса уходят письма.
    Настройки → Настройки продукта → Настройки модулей → Главный модуль, поле «E-Mail администратора по умолчанию». Этот адрес обязательно должен быть на вашем домене (например, info@вашдомен.ru), а не @gmail.com или @yandex.ru. Публичные почтовые сервисы письма с чужих доменов давно блокируют.

  4. Проверьте «Почтовые шаблоны» и «Почтовые события».
    Настройки → Настройки продукта → Почтовые и СМС события → Почтовые шаблоны. У каждого шаблона в поле «От кого» должен стоять адрес на вашем домене (или переменная #DEFAULT_EMAIL_FROM#, которая берёт значение из настроек модуля).

  5. Запросите у получателя «исходник письма».
    Если письмо всё-таки дошло, но падает в спам — попросите получателя открыть полные заголовки письма (в Gmail: «Показать оригинал», в Яндексе: «Свойства письма»). Ищите строки:

    SPF: FAIL (или SOFTFAIL, или NONE)
    DKIM: FAIL (или NONE)
    DMARC: FAIL

    PASS — хорошо, всё остальное — причина попадания в спам.

После этой диагностики обычно понятно одно из двух: или письма не уходят с сервера (тогда работа с хостингом), или уходят, но почтовики им не доверяют. Второй случай решается одним из двух способов ниже.

Способ 1. Настройка SPF-записи в DNS

Когда подходит: сервер хостинга умеет отправлять письма (sendmail работает), почтовый ящик отправителя физически живёт где угодно, но письма уходят с IP-адреса вашего сервера.

Что делает: SPF (Sender Policy Framework) — это запись в DNS, в которой вы публично объявляете: «Письма от моего домена разрешено отправлять с таких-то серверов». Почтовик получателя сверяет IP отправителя с этим списком — если совпадает, пропускает письмо.

Как настроить

  1. Узнайте IP-адрес сервера сайта.
    В админке Битрикса откройте Настройки → Инструменты → Командная PHP-строка:

    echo $_SERVER['SERVER_ADDR'];

    Или спросите у хостинг-провайдера в личном кабинете.

  2. Добавьте SPF-запись в DNS-зоне домена.
    Это делается в панели управления у регистратора домена (или там, где у вас управляется DNS — например, в панели хостинга, у Cloudflare, beget, reg.ru).

    Создайте TXT-запись:

    ПолеЗначение
    ТипTXT
    Имя / Хост@ (или оставьте пустым — это корень домена)
    Значениеv=spf1 ip4:ВАШ.IP.СЕРВЕРА.ТУТ ~all
    TTL3600
    Параметры TXT-записи для SPF

    Пример готовой записи, если ваш сервер — 185.22.155.10:

    v=spf1 ip4:185.22.155.10 ~all

    Если на домене уже есть SPF-запись (например, от Яндекс.Почты для домена) — её нельзя дублировать. Нужно объединить значения в одну запись. Пример объединённой записи (сервер + Яндекс.Почта):

    v=spf1 ip4:185.22.155.10 include:_spf.yandex.net ~all

    Для Mail.ru: include:_spf.mail.ru. Для Google Workspace: include:_spf.google.com.

  3. Дождитесь обновления DNS.
    Обычно 15–30 минут, в редких случаях — до 24 часов.

Чек-лист проверки, что SPF работает

  1. Проверка через консоль (для самых нетерпеливых).
    В Битриксе откройте Настройки → Инструменты → Командная PHP-строка:

    $records = dns_get_record('вашдомен.ru', DNS_TXT);
    foreach ($records as $r) {
        if (strpos($r['txt'], 'v=spf1') !== false) {
            echo $r['txt'];
        }
    }

    Если в ответе появилась ваша SPF-запись — DNS обновился.

  2. Проверка через онлайн-сервисы.
    Откройте mxtoolbox.com/spf.aspx или dmarcian.com/spf-survey/ и введите домен. Сервис покажет, корректна ли запись и какие серверы разрешены.

  3. Отправьте тестовое письмо и проверьте заголовки.
    Через PHP-строку отправьте письмо себе на Gmail или Яндекс:

    bxmail('ваш-личный@gmail.com', 'SPF тест', 'Проверяем заголовки.');

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

    spf=pass
    Received-SPF: pass

    Если pass — SPF настроена правильно. Если fail или softfail — перепроверьте IP в DNS-записи.

  4. Контрольный тест через mail-tester.com.
    Зайдите на mail-tester.com, скопируйте предложенный там тестовый адрес и отправьте на него письмо с сайта. Сервис покажет оценку от 0 до 10. Меньше 8 — есть что улучшать.

Способ 2. Отправка через встроенный SMTP-клиент 1С-Битрикс

Когда подходит: у вас есть настоящий почтовый ящик (на Яндекс 360, Mail.ru для бизнеса, корпоративный Exchange, или у любого другого провайдера) — и вы хотите, чтобы письма с сайта уходили именно через него. Это самый надёжный способ: письма физически отправляются с того сервера, который и так разрешён владельцу ящика.

Плюсы: не нужно лезть в DNS, письма выглядят как обычная корпоративная переписка, доставляемость почти 100%.

Минусы: нужен реальный почтовый ящик и его пароль (или пароль приложения для Яндекса и Google).

Как настроить

  1. Подготовьте данные SMTP-сервера.
    Возьмите у провайдера почты. Для популярных:

    • Яндекс 360 для бизнеса: smtp.yandex.ru, порт 465, SSL, логин — полный email, пароль — отдельный «пароль приложения» (создаётся в настройках Яндекс ID).
    • Mail.ru для бизнеса: smtp.mail.ru, порт 465, SSL.
    • Google Workspace: smtp.gmail.com, порт 465, SSL, пароль — «пароль приложения».
    • Любой другой провайдер: смотрите его документацию по SMTP.
  2. Включите модуль «Почтовый клиент».
    Он входит в стандартную поставку Битрикса. Проверить можно через Marketplace → Установленные решения — модуль называется mail.

  3. Добавьте почтовый ящик в Битриксе.
    Откройте Настройки → Настройки продукта → Почтовые и СМС события → Настройки SMTP.

    Заполните:

    • Имя ящика
    • Адрес e-mail (от которого будут уходить письма с сайта)
    • Сервер SMTP, порт, SSL — из шага 1
    • Логин и пароль
    • Поставьте галку «Использовать этот ящик для отправки писем с сайта»
  4. Включите использование SMTP в системных функциях отправки.
    По умолчанию bxmail использует системный sendmail. Чтобы переключить его на SMTP, в Настройки → Настройки продукта → Настройки модулей → Главный модуль поставьте галку «Использовать почтовый клиент для отправки писем» и выберите созданный ящик.

    В некоторых редакциях этой галки нет — тогда добавьте в /bitrix/.settings.php (или попросите программиста) блок:

    'smtp' => [
        'value' => [
            'enabled' => true,
            'from' => 'info@вашдомен.ru',
            'server' => 'ssl://smtp.yandex.ru',
            'port' => 465,
            'protocol' => 'ssl',
            'login' => 'info@вашдомен.ru',
            'password' => 'пароль-приложения',
        ],
        'readonly' => false,
    ],
  5. Обновите адрес «От кого» в шаблонах писем.
    В Настройки → Настройки продукта → Почтовые и СМС события → Почтовые шаблоны проверьте, что во всех активных шаблонах поле «От кого» совпадает с адресом подключённого SMTP-ящика. Иначе SMTP-сервер отклонит письмо с ошибкой «отправитель не совпадает с логином».

Чек-лист проверки, что SMTP работает

  1. Тест отправки из админки.
    В Настройки → Инструменты → Командная PHP-строка:

    use Bitrix\Main\Mail\Mail;
    
    $result = Mail::send([
        'TO' => 'ваш-личный@gmail.com',
        'SUBJECT' => 'SMTP тест из Битрикса',
        'BODY' => 'Если письмо пришло — SMTP настроен правильно.',
        'CHARSET' => 'utf-8',
        'CONTENT_TYPE' => 'text/plain',
    ]);
    var_dump($result);

    true — отправка прошла. false — смотрите следующий пункт.

  2. Проверка журнала событий.
    Настройки → Инструменты → Журнал событий, фильтр по типу «MAIL». Самые частые ошибки и что с ними делать:

    • SMTP authentication failed — неверный логин/пароль. Для Яндекса и Google проверьте, что используете «пароль приложения», а не обычный пароль от почты.
    • Connection refused — порт закрыт хостингом. Попросите хостера открыть исходящий 465/587.
    • Sender address rejected — адрес «От кого» в письме не совпадает с логином SMTP. Поправьте шаблоны.
  3. Отправка через стандартный механизм Битрикса.
    Имитируйте реальную ситуацию — например, восстановите пароль на сайте на свой тестовый email. Письмо должно прийти от того же адреса, что в SMTP-настройках.

  4. Контрольный тест через mail-tester.com.
    Так же как для SPF — отправьте письмо на адрес от mail-tester.com и проверьте оценку. Через SMTP она обычно 9–10 из 10.

Что выбрать: SPF или SMTP

Коротко: SMTP — надёжнее, но требует настоящего ящика. SPF — проще, но работает только если sendmail на сервере уже корректно отдаёт письма.

  • Если у вас есть корпоративная почта (Яндекс 360, Mail.ru для бизнеса) — используйте SMTP, это закроет проблему гарантированно.
  • Если корпоративной почты нет, а сайт небольшой и писем мало — настройте SPF, этого обычно достаточно.
  • Для интернет-магазинов с большим объёмом транзакционных писем — SMTP + дополнительно настройка DKIM и DMARC (об этом отдельная статья).

Краткое резюме

  1. Сначала пройдитесь по диагностике: убедитесь, что письма вообще уходят с сервера и что адрес отправителя — на вашем домене.
  2. Если проблема в недоверии почтовиков — добавьте SPF-запись в DNS (5 минут) или подключите SMTP в Битриксе (15–20 минут).
  3. После настройки проверьте результат через mail-tester.com — оценка ниже 8 значит, что нужно докрутить.

Настройка занимает максимум полчаса, а избавляет от потерянных заявок и недовольных клиентов, которые «не получили письмо».