Discourse подключается к SMTP-серверу, но не может отправлять через него письма

Не получается получить первое письмо о регистрации пользователя:

Диагностика Discourse показывает:
Успешное подключение к SMTP-серверу.
Отправка письма не удалась.

Однако:
Подключение по Telnet к mail.domain.com на порт 587 работает, и команда EHLO для почтового сервера выполняется успешно.

Как это исправить? Буду очень благодарен за любую помощь.

Возможно, стоит посмотреть логи почтового сервера. Какая бы ошибка ни была, она не относится к тем, которые понимает Discourse-doctor.

Вам нужно будет поискать в Google, как настроить exim4.

Сайт: 7. The default configuration file

Замораживание происходит, когда сообщение об ошибке доставки сталкивается с постоянной ошибкой, потому что адрес отправителя исходного сообщения, вызвавшего ошибку, недействителен, поэтому сообщение об ошибке не может быть доставлено.

Полагаю, вам нужно изменить адрес электронной почты для уведомлений или настроить exim так, чтобы он использовал ваше поддоменное имя.

Вы случайно не забыли пересобрать свой контейнер?

В любом случае, вы можете проверить свой контейнер следующим образом:

docker exec -it app rails c

Затем в консоли Rails:

[1] pry(main)>ENV

Таким образом, вы сможете легко просмотреть все ваши переменные окружения, связанные с SMTP.

Exim4 был протестирован для проверки отправки и получения электронной почты.
Discourse был пересобран с помощью утилиты discourse-setup, используя все правильные учётные данные:

Имя хоста      : forum domainname com
Электронная почта         : user@test com
Адрес SMTP  : mail forum domainname com
Порт SMTP     : 587
Имя пользователя SMTP : postmaster@forum domainname com
Пароль SMTP : password

Затем была запущена утилита discourse-doctor для проверки того, может ли Discourse отправлять электронную почту с локального почтового сервера exim4.

Утилита discourse-doctor сообщает:
“Соединение с SMTP-сервером успешно.”
“Отправка почты не удалась.”

Однако в логах exim4 нет ошибок.

Почему отправка почты не удаётся?
Является ли это распространённой проблемой?

Обратите внимание, что адрес SMTP: mail forum domainname com,
должно ли оно начинаться с “mail”?

Утилита discourse-doctor сообщает, что Discourse подключается к:
mail forum domainname com,
но Discourse не отправляет электронную почту.

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

Какой hostname использует Discourse для отправки почты? Используется ли forum.somedomain.com или mail.forum.somedomain.com?

По умолчанию, если я не ошибаюсь, это email@forum.somedomain.com.

Это сбивает некоторых с толку, так как они ожидают, что это будет

email@somedomain.com