经过一些尝试和错误,我已经成功让 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您应该会收到一封主题为“这是一封测试邮件”的电子邮件。
-
在
containers/app.yml中,确保注释掉以下三行:DISCOURSE_SMTP_USER_NAME、DISCOURSE_SMTP_PASSWORD和DISCOURSE_SMTP_ENABLE_START_TLS。并将
DISCOURSE_SMTP_DOMAIN设置为forum.domain.com(请在此处替换为您自己的域名)。 -
进行测试时,可以通过
docker exec -it app bash连接到 Discourse 容器,然后运行:apt update apt install -y swaks swaks -t name@gmail.com --server forum.domain.com您应该会收到一封主题为“这是一封测试邮件”的电子邮件。
-
使用
./launcher rebuild app重启 Discourse。现在您应该能够创建新账户并收到验证邮件。