Yandex Metrika
sanches.free 24 просмотра

Почта на BitrixVM: SMTP, msmtp и диагностика по логу

Почему с BitrixVM письма «молчат»

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

План: внешний SMTP и приложение Яндекс

В примере ниже описан знакомый многим вариант с Яндекс Почтой. Логику можно перенести на любой SMTP-провайдер: понадобятся имя узла, порт и корректные учётные данные.

  • Создайте пароль приложения: в блоке безопасности аккаунта сервис обычно запрещает слать через SMTP главным паролем. Раздел: https://id.yandex.ru/security/app-passwords; справка: https://yandex.ru/support/id/authorization/app-passwords.html.
  • В параметрах почтового ящика убедитесь, что разрешены служебные протоколы отправки и чтения (SMTP/IMAP) — без этого авторизация на релее не пройдёт.

Путь к документ‑руту для cron

Мастера в меню машины спросят расположение кода сайта; его удобно взять из DOCUMENT_ROOT: откройте в браузере /bitrix/admin/phpinfo.php?test_var1=demo_route&test_var2=staging_pool и найдите строку документа корня виртуального хоста.

Меню BitrixVM: cron и почта под root

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

~/menu.sh

Откройте раздел управления пулом сайтов (Configure pool sites) и включите по очереди подсистемы, от которых зависит отправка.

Активация cron

На карточке состояния cron должно быть Y. Если указано N, пройдите мастера: передайте путь к дереву сайта из DOCUMENT_ROOT, ответьте на остальные вопросы и убедитесь, что итоговый статус сменился на «да».

Мастер исходящей почты (Email)

В том же блоке конфигурации пула есть отдельный мастер для почтового клиента машины — заполните его согласно провайдеру. Для Яндекса типичная схема такая:

  • From: полный адрес ящика, для которого выдан пароль приложения и разрешено SMTP‑отправление; любой произвольный «чужой» адрес здесь только усугубит отказ провайдера или попадание в спам.
  • Хост: smtp.yandex.ru
  • Порт: 587 (STARTTLS)
  • SMTP authentication: y — авторизацию отключать нельзя.
  • Логин: этот же ящик в полном виде (user@yandex.ru).
  • Пароль: пароль приложения; при вводе символы на экране не отображаются — это штатное поведение терминала.
  • Метод аутентификации: оставить значение по умолчанию (например, auto), если скрипт предлагает выбор по Enter.
  • TLS: включить (y) — без шифрования релей Яндекса не примет сеансы.

Завершите мастера и затем выполните в административной панели типовую проверку работоспособности системы сайта Битрикс — удобная контрольная точка именно после сетевых настроек.

Если отправка всё равно «пустая»: где смотреть причину

На обычном хостинге часть ошибок отправки попадает в журнал прямо в админке, а BitrixVM пишет низкоуровневый диалог с SMTP в свой лог утилиты. Ищите файл вида /home/bitrix/msmtp_default.log (название может слегка отличаться между сборками) и просматривайте хвост:

tail -n 40 /home/bitrix/msmtp_default.log

В спорных случаях можно временно напечатать весь файл cat; для рабочей диагностики обычно достаточно последних нескольких десятков строк.

Ошибка 535 после «удачной» авторизации по логину

В лог может попасть строка наподобие ответа smtpstatus=535 с текстом вроде Error: authentication failed: This user does not have access rights to this service. По сути это уже не промах в пароле: сервер смог понять вашу связку учётной записи, но политики ящика не дают использовать SMTP‑релей. Такое снимается настройкой прав почтового аккаунта (включённые протоколы, разрешённые клиентские приложения).

В хвосте записи может встретиться пара exitcode=EX_NOPERM и упоминание метода авторизации (PLAIN). Это дополнительно отличает сценарий от банальной опечатки в пароле: сервер принял связку учётной записи, но не открыл SMTP для этого ящика.

После исправления политики перезапустите тест отправки из админки. Если технических отказов нет, но письма всё же «теряются», проверьте папки спама у получателя и при необходимости подождите до суток после смены релея — антиспам на стороне получателя может «успокоиться» только со временем.

Заключение

Разумная последовательность на BitrixVM: приложение доступа SMTP, включённая передача по TLS, активный cron для фоновых задач почты ядра, затем журнал msmtp при любых сбоях. Такой пайплайн закрывает типичную ситуацию, когда интернет‑магазин или формы уже формируют событие, но внешняя транспортная цепочка ещё не доведена до конца.

Не хотите копаться сами?

Починю за 1-3 дня. Без предоплаты — оплата по результату.

15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии