経緯
Postfix で以下のエラーが発生してしまいました。
NOQUEUE: reject: RCPT from example.com[192.0.2.1]: 554 5.7.1 johndoe@example.com: Sender address rejected: Access denied; from=johndoe@example.com to=janedoe@example.co.jp proto=ESMTP
エラーメッセージで検索しても今回のケースとはあまり合致しなさそうなトラブルシューティングばかりで少し嵌まりました。
原因・対処
結論からいうと、原因は該当ドメインを管理画面上から休止状態にしていたことが原因でした。
経緯を詳細に記すと、サーバの移管のために以下のシチュエーションに置かれました。
johndoe@example.net
のドメインのサーバ移管を実施。johndoe@example.net
の移管前のサーバから、移管後のサーバへ残存メールを転送しようとした。
johndoe@example.net
そのものはDNS切替中のため使えないので、同じサーバに同居するexample.com
を使用して転送を試みた。example.com
は既に管理画面上から休止状態にしていた。
- メールアドレスはLinuxユーザでもあるので、あくまでサーバ上のユーザとしてはアクティブだろう、と想定していた。
- そのため、
johndoe@example.net
ではなくjohndoe@example.com
でログインして転送しようとした。
- そのため、
ところが、実際は example.com
が休止状態だったため、 johndoe@example.net
ではなく johndoe@example.com
でログインしようとすると冒頭のエラーになった、ということです。
対処としては一時的に example.com
の休止状態を解除して、転送できるようになったことを確認しました。
詳細
もう少し細かく書くと、該当サーバの管理画面でドメインを休止状態にすると同時に /etc/postfix/access
に REJECT
のマーキングがなされるようです。
## 略
# BEGIN VSite relays (do not edit anything between BEGIN and END)
example.com REJECT
これが休止状態を解除すると該当行が消えたことを確認しました。完全に連動しているようです。
この設定行の有無で、該当ドメイン (今回は example.com
) に紐づくユーザが reject される、という挙動をすることが分かりました。