sendmail.cf は別のファイルからサーバー名を読み取りますか?

sendmail.cf は別のファイルからサーバー名を読み取りますか?

sendmail 構成ファイルにリレー サーバーの名前を指定する必要があります。ただし、このサーバー名は別のシステム/アプリケーション経由で構成可能です。

変更があった場合は、このファイル内のサーバー名を変更し、sendmail を再起動する必要があります。

また、変更されるたびに sendmail.mc ファイルをコンパイルするオプションはありません。

sendmail に、サーバー名用の別のファイルを読み込んだり取り込んだりするように要求することは可能ですか。このファイルには、システムで設定されているサーバーの名前が含まれますか?

次のようなものです: include("./severname.conf");

ここで、servername.conf にはリレーを実行する必要があるサーバーの名前が入ります。

出来ますか?

答え1

スマート ホストはマクロなので$S、次のような一連のコマンドが必要です。

cd /etc/mail
cp sendmail.cf sendmail.cf.old
sed -e 's/^DSold.host.name/DSnew.host.name/' sendmail.cf.old > sendmail.cf 

その後、sendmail を再起動します。

答え2

スマートホストの代わりにmailertableのデフォルトルートを使用することができます - 参照機能(メールテーブル)参考にされる/使用される前にスマート ホスト => スマート ホストを上書きします。

デフォルトルートの mailertable ファイルエントリ (キーとして「単一のドット」):

.  relay:smart-host.example.net

Sendmail は、プログラムを使用してコンパイルされたファイルのバージョンを使用しますmakemapsendmailによる再コンパイル後にデーモンを再起動する必要はありませんmakemap

テスト方法:

sendmail -C/etc/mail/sendmail-test.cf -d60.5 -bv [email protected]

-C file- 代替設定ファイルを使用する
-d60.5- マップ検索の追跡を有効にする(mailertable マップを含む)

関連情報