PostfixでDiscourseを動作させる方法

いくつかの試行錯誤の後、Discourse を Postfix と連携させることができました。以下に私が使用した手順を示します。参考になれば幸いです。

  1. 新しいサーバーを指す A レコードを設定します(例:forum.domain.com)。

  2. Postfix をインストールし、myhostnameforum.domain.com を設定します。また、Discourse コンテナが認証なしで Postfix と通信できるよう、mynetworks172.17.0.0/16 を追加します。172.17.0.0/16 は Docker コンテナでデフォルトで使用されるネットワークです。

  3. Postfix がメールを送信できることを確認します。私は swaks を使うことをお勧めします。

    swaks -t your_name@gmail.com
    

    「This is a test mailing」というメールが届くはずです。

  4. containers/app.yml で、DISCOURSE_SMTP_USER_NAMEDISCOURSE_SMTP_PASSWORDDISCOURSE_SMTP_ENABLE_START_TLS の 3 行をコメントアウトしてください。

    また、DISCOURSE_SMTP_DOMAINforum.domain.com に設定します(ここで実際のドメイン名に置き換えてください)。

  5. テストするには、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」というメールが届くはずです。

  6. ./launcher rebuild app で Discourse を再起動します。これで新しいアカウントの作成と認証メールの受信が可能になります。