結論から言うと「パラメータのデフォルト値が変わっているのでマニュアルを確認しよう」です。
CentOS8ではpostfix 3.3.1がインストールされますが、compatibility_levelの設定値によりパラメータのデフォルト値が変わります。
postconfの出力からcompatibility_levelを抜き出すと、下記になります。
# postconf | grep compatibility_level append_dot_mydomain = ${{$compatibility_level} < {1} ? {yes} : {no}} compatibility_level = 2 mynetworks_style = ${{$compatibility_level} < {2} ? {subnet} : {host}} relay_domains = ${{$compatibility_level} < {2} ? {$mydestination} : {}} smtpd_relay_restrictions = ${{$compatibility_level} < {1} ? {} : {permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination}} smtputf8_enable = ${{$compatibility_level} < {1} ? {no} : {yes}} #デフォルトのmain.cfでは、compatibility_levelが2に設定されています。
このためrelay_domainsのデフォルトが空となり、リレーが許可されません。
リレーを許可するには、明示的にrelay_domainsを設定する必要があります。
また、これらパラメータを参照しているパラメータも影響を受けるので注意が必要です。
今回のリプレースでは旧サーバの設定ファイルをコピーせず、デフォルトの設定ファイルから書き直しました。 main.cf内のコメントを読みながら設定していて「The default relay_domains value is $mydestination.」と記載があったため、旧バージョンと同じと考えてしまい、リレーできない原因が分からず暫くはまりました。
マニュアルにはバッチリ記載がありましたので、横着せずマニュアルを確認しようと言うことかと思います。 ちなみにcompatibility_levelのデフォルトは0なので、旧サーバの設定をコピーした場合は挙動が変わることはなかったようです。
0 件のコメント:
コメントを投稿