いくつかの試行錯誤の後、Discourse を Postfix と連携させることができました。以下に私が使用した手順を示します。参考になれば幸いです。
-
新しいサーバーを指す A レコードを設定します(例:
forum.domain.com)。 -
Postfix をインストールし、
myhostnameにforum.domain.comを設定します。また、Discourse コンテナが認証なしで Postfix と通信できるよう、mynetworksに172.17.0.0/16を追加します。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の 3 行をコメントアウトしてください。また、
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「This is a test mailing」というメールが届くはずです。
-
./launcher rebuild appで Discourse を再起動します。これで新しいアカウントの作成と認証メールの受信が可能になります。