Как изменить метод аутентификации SMTP

Моя установка Discourse не может отправлять письма на мой SMTP-сервер. При запуске discourse-doctor возникает следующая ошибка при попытке отправки письма (конфиденциальная информация удалена):

Testing sending to … plain auth.
======================================== ERROR ========================================
                                    UNEXPECTED ERROR

503 AUTH command used when not advertised


====================================== SOLUTION =======================================
Это не распространённая ошибка. Рекомендуемого решения не существует!

Я хочу изменить метод аутентификации с plain на login. Однако, похоже, в app.yml нет параметра для выбора метода аутентификации. Я использую образ Discourse от DigitalOcean.

Помогите, пожалуйста, изменить метод аутентификации, используемый SMTP.

Вам просто нужно его добавить. Если поищете, то наверняка найдете пример.

Хорошо, я добавил:

DISCOURSE_SMTP_AUTHENTICATION: login

Теперь используется метод аутентификации login, но у меня всё ещё та же ошибка.

Я провел исследование по этой теме. И я не одинок в столкновении с подобными трудностями. Похоже, что Discourse несовместим с некоторыми SMTP-серверами или, по крайней мере, с некоторыми конфигурациями.

На StackOverflow в вопросе SMTP Error <<: 503 AUTH command used when not advertised Дэвид Спектор ссылается на эту запись в блоге: Tuning cPanel TLS for SMTP incoming email reception.

Возможно, Discourse пытается выполнить аутентификацию до использования SSL или STARTTLS. Является ли это проблемой безопасности? Требуется ли исправление в самом Discourse или проблема связана с конфигурацией SMTP? Для меня это не совсем ясно.

Пожалуйста, поделитесь своим мнением.

Есть некоторые настройки, касающиеся этой проблемы с TLS. Настройка почты — дело непростое. Discourse работает с основными провайдерами. Я думаю, что если вы хотите, чтобы всё было просто, используйте одного из них.