После ряда проб и ошибок мне удалось настроить Discourse с Postfix. Вот шаги, которые я использовал, надеюсь, они окажутся полезными:
-
Настройте A-запись, указывающую на ваш новый сервер, например
forum.domain.com. -
Установите Postfix, настройте
myhostnameкакforum.domain.comи добавьте172.17.0.0/16вmynetworks, чтобы контейнер Discourse мог взаимодействовать с Postfix без аутентификации.172.17.0.0/16— это сеть по умолчанию, используемая контейнерами Docker. -
Убедитесь, что Postfix может отправлять письма. Я предпочитаю использовать
swaks:swaks -t your_name@gmail.comВы должны получить письмо с темой “This is a test mailing”.
-
В файле
containers/app.ymlубедитесь, что закомментированы три строки дляDISCOURSE_SMTP_USER_NAME,DISCOURSE_SMTP_PASSWORDиDISCOURSE_SMTP_ENABLE_START_TLS.Также установите
DISCOURSE_SMTP_DOMAINравнымforum.domain.com(не забудьте заменить на ваше доменное имя). -
Для тестирования подключитесь к контейнеру Discourse командой
docker exec -it app bashи выполните:apt update apt install -y swaks swaks -t name@gmail.com --server forum.domain.comВы должны получить письмо с темой “This is a test mailing”.
-
Перезапустите Discourse командой
./launcher rebuild app. Теперь вы должны иметь возможность создавать новые аккаунты и получать письма с подтверждением.