古いスレッドを復活させてすみません。未適用のままだったメール受信パッチの何らかの形が、最終的にバージョン管理システムにマージされたため、経年劣化により私のパッチ適用コンテナがいつか動かなくなっていたのです。
メール受信コンテナを完全に削除し、新しいコンテナと API キーを設定したところ、Discourse インスタンスでの受信メールは再び機能するようになりました。しかし、システムはまるで2017年当時のように、拒否されたメールをバックスキャッター(返送)しているようです。
確かに、これらの拒否応答はどちらも私の受信トレイに戻ってきました。しかし、「BadDestinationAddress」のケースは、Discourse によるさらなる処理や返信メールの送信に回される前に、SMTP レベルで拒否されるべきでした。もしスパマーがこのサーバーに無効なメールアドレスでメールを送信した場合、バックスキャッターが発生してしまいます。
SMTP サーバーに直接接続して確認したところ、無効なメールを拒否しようとする試みが一切行われていないことがわかりました。
root@discourse:/var/discourse# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 ESMTP server
HELO sdfsdfsdf
250 discourse-mail-receiver.localdomain
MAIL FROM: sdfsdf@example.com
250 2.1.0 Ok
RCPT TO: sdfsdfsdf@discourse.libsdl.org
250 2.1.5 Ok
つまり、デフォルトのメール受信イメージには高速拒否スクリプトがフックされていることは確認できるのですが、なぜか何も拒否されていないようです。
/etc/postfix/master.cf:
policy unix - n n - - spawn user=nobody
argv=/usr/local/bin/discourse-smtp-fast-rejection
/etc/postfix/main.cf:
smtpd_recipient_restrictions = check_policy_service unix:private/policy
これを動作させるために調整すべき設定はありますか?あるいは、なぜ機能していないのかをより深く調査する方法はありますか?他の人でも同様の問題は発生していますか?
よろしくお願いします!
