Подключение к электронной почте через порт 25 вместо стандартного 587

При новой пересборке соединение для электронной почты во время регистрации администратора использует порт 25 вместо порта 587 по умолчанию, однако в примере файла конфигурации указано обратное:

#DISCOURSE_SMTP_PORT: 587 # (необязательно, по умолчанию 587)

В логах Rails видно попытку подключения к порту 25 в конфигурации по умолчанию:

Исключение в задаче: Превышено время ожидания при открытии TCP-соединения с smtp.domain.com:25 (превышает 5 секунд)

2 лайка

Да, я думаю, что могу подтвердить это исходным кодом:

Последний коммит был 9 лет назад, так что это, вероятно, было значение по умолчанию уже давно! :mantelpiece_clock:

Переместил это в bug, хотя это не проблема кода, но в шаблоне настроек это почти наверняка неверно?

4 лайка

Так что установите это, вместо того чтобы принимать значение по умолчанию. discourse-setup устанавливает это.

Может быть, это больше похоже на ux?

Так было уже 9 лет, и это первая сообщённая проблема. Когда ещё один человек сообщит о проблеме с этим, я уверен, что это поднимет вопрос на вершину списка, хотя кто-то может попробовать отправить PR, если хочет.

1 лайк

Не все используют discourse-setup; вместо этого они напрямую используют веб-файлы и файлы data.yml для создания нескольких экземпляров, работающих на одной системе. Но да, это не является приоритетной задачей для решения.

Если вы не знакомы с обсуждением настройки производительности для различных конфигураций CPU и памяти в Discourse, я бы не стал полностью обходить discourse-setup.

2 лайка

Похоже, вы — первый человек за почти десять лет, кто сообщил о проблеме. Я полагаю, что все остальные просто настроили это сами, вместо того чтобы надеяться, что настройки по умолчанию сработают. Считается, что если вы не запускаете discourse-setup, то значит, вы можете справиться с этим самостоятельно.

2 лайка

Не помешает изменить комментарий здесь на 25

так как, похоже, ./discourse-setup предполагает, что значения в образце файла соответствуют настройкам по умолчанию для Discourse?

2 лайка

Да. Скрипт доверяет шаблонам, а не парсит файл конфигурации.

discourse-setup всегда устанавливает значение (он не оставляет строку закомментированной); пользователи discourse-setup никогда не столкнутся с проблемой «неправильного» порта SMTP по умолчанию; именно поэтому это, похоже, первый случай, когда такая ситуация возникла. (Кажется, что даже до появления discourse-setup никто не решался оставить порт закомментированным, ожидая, что по умолчанию будет 587; это просто логичнее явно указать порт, чем надеяться, что значение по умолчанию сработает). Изменение порта на 25 в файлах standalone.yml и web_only.yml побудит тех, кто использует discourse-setup, использовать порт 25, что, скорее всего, приведёт к тому, что многим придётся вводить 587 вручную вместо того, чтобы просто нажимать Enter, а другие, не знающие, что такое порт, слепо примут значение по умолчанию и, вероятно, столкнутся с трудностями при его выяснении. Я считаю, что таких людей будет больше, чем тех, кто умеет редактировать текстовый файл и сознательно оставляет порт SMTP закомментированным, вместо того чтобы вводить нужное значение.

Эта «ошибка» может возникнуть только в том случае, если кто-то вручную отредактирует standalone.yml и решит оставить порт SMTP закомментированным, вместо того чтобы указать значение. Непонятно, ошибочны ли сами шаблоны или же неверно указано фактическое значение по умолчанию.

1 лайк