私のPostfixの設定は、基本的に『Postfix実践入門』という本を見ながらやっています。
しかし本の通りにやるだけでは上手くいかない箇所がたまにあります。
SMTP認証 についての設定を行ったところ、外部宛にメールが送信できなくなりました。
メール送信を試みると
サーバー エラー : xxxxx:
Relay access denied
とのメッセージが返ってきます。
~原因~
デフォルト設定(# postconf -dで確認可能)では、
smtpd_recipient_restrictions = permit_mynetworks,
reject_unauth_destination
と設定されており、自ネットワークからのメールしかリレーしません。
私の場合サーバはVPS上にあるため、MUA(メールクライアント)がある自宅とは別ネットワーク。
~解決法~
/etc/postfix/main.cf の最下部に下記を追記しました。
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
(認証を通過すればリレーを許可)
reject_unauth_destination
変更箇所については、postconf -n で確認できます。
設定を再読み込みして、完了。
ちなみに参考書では、「同じサブネットワーク内にあるMUAからの設定例」というのが載っていました。
そのため、サブネットが違うから上手くいかないんだろうなあというのは何となく推測できました。