Отключение STARTTLS или проверки сертификатов больше не работает

В разделе Support много сообщений на эту тему, поэтому, раз мы вроде бы нашли причину, я решил создать тему в Contribute > Bug, посвящённую исключительно описанной здесь проблеме: Email Hostname Certificate Mismatch Causing sidekiq Queue Overload, Severe Site Instability - #47 by RGJ

Кратко:

Начиная с версии 2.9.0 beta 4 настройки
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE и DISCOURSE_SMTP_ENABLE_START_TLS больше не работают корректно.

Похоже, это связано с переходом на Rails 7, в котором net-smtp был обновлён с версии 0.1.0 до 0.3.1, что изменило значения по умолчанию для этих двух параметров подключения.

Метод вызова net-smtp из библиотеки smtp не отключает enable_starttls_auto и openssl_verify_mode, а лишь включает их, если это явно задано.

Связанный репорт для библиотеки smtp: SMTP: allow disabling starttls_auto since it's now true by default in Ruby 3 - Pull Request #1435#issuecomment-1044852765 - mikel/mail - GitHub

Технически эта ошибка находится вне кода Discourse, так как проблема возникает в библиотеке smtp, но поскольку сейчас она форкнута для Discourse, я считаю, что стоит создать тему в Contribute > Bug. Если её нельзя исправить быстро, эти параметры можно удалить из документации и, возможно, добавить предупреждение об устаревании, чтобы хотя бы убрать всю путаницу.

10 лайков

Перекрестная ссылка на сообщения об ошибках:

2 лайка

Этот PR должен восстановить правильное поведение (он ещё не слит):

5 лайков

PR был слит сегодня утром, поэтому, используя ветку tests-passed, вы сможете отключить TLS, как и раньше :slight_smile:

1 лайк

11 сообщений были перенесены в новую тему: Почта не работает (порт 465)

Эта тема была автоматически закрыта через 7 часов. Новые ответы больше не принимаются.