Настройка отправки писем с сайта через SMTP-сервер Яндекса — популярное и надежное решение для проектов на BitrixVM. Оно обеспечивает высокую доставляемость и избавляет от головной боли с попаданием в спам.
Однако даже с такой стабильной связкой случаются неожиданные сбои. В этой статье разберем решение одной коварной ошибки аутентификации, которая может возникнуть внезапно, даже если раньше все идеально работало.
Симптомы проблемы
После штатной настройки почтового сервера в админке Битрикс (или через конфигурационные файлы) письма перестают уходить. В логах отправки почты (/var/log/maillog или просматриваемые через tail -f /var/log/maillog) появляется критическая запись следующего содержания:
host=smtp.yandex.ru tls=on auth=on user=noreply@mydomain.by from=noreply@mydomain.by recipients=client@gmail.com smtpstatus=535 smtpmsg='535 5.7.8 Error: authentication failed: This user does not have access rights to this service' errormsg='authentication failed (method PLAIN)' exitcode=EX_NOPERM
Ключевой сигнал — authentication failed: This user does not have access rights to this service (Пользователь не имеет прав доступа к этому сервису).
Ложный след и простое решение
Первая мысль, которая приходит в голову — неверный пароль от почтового ящика. И логи сервера эту мысль полностью поддерживают. Однако при попытке войти в этот ящик через веб-интерфейс тем же паролем — авторизация проходит успешно.
В чем же тогда дело? Оказывается, Яндекс различает типы паролей для доступа к своему сервису.
Пароль для входа в почту и пароль для доступа по протоколу SMTP — это не всегда одно и то же. Для внешних приложений (к которым относится и ваш сервер BitrixVM) может требоваться специальный сгенерированный пароль.
Пошаговая инструкция по устранению ошибки 535
Чтобы решить проблему и возобновить отправку писем, необходимо создать и использовать в настройках BitrixVM не основной пароль от ящика, а «Пароль для приложений».
-
Авторизуйтесь в почтовом ящике Яндекса, с которого планируется отправка.
-
Перейдите в раздел «Управление аккаунтом» → «Безопасность».
-
В блоке «Вход в аккаунт и безопасность» найдите опцию «Пароли для приложений» и кликните на нее.
-
Система может запросить подтверждение через одноразовый код из СМС или приложения-аутентификатора.
-
В открывшемся меню вам нужно «Создать новый пароль». Дайте ему понятное имя (например,
BitrixVM Server), чтобы в будущем можно было легко его идентифицировать или отозвать. -
Яндекс сгенерирует для вас длинный строковый пароль. Скопируйте его (он показывается только один раз!).
-
Вернитесь в настройки вашего BitrixVM. Обновите пароль в конфигурации почтового сервера (будь то файлы
dbconn.phpиsettings.php, либо через графический мастер настройки в админке Битрикс) на этот новый, только что скопированный пароль. -
Сохраните изменения и выполните тестовую отправку письма. Проверьте логи — теперь аутентификация должна пройти успешно, а ошибка
535исчезнет.
Это решение не только устраняет текущую проблему, но и является более безопасной практикой, так как вы не используете основной пароль от почты на стороннем сервере и в любой момент можете отозвать доступ только для этого конкретного приложения, не меняя пароль ко всему аккаунту.
