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 使用makemap程序编译的文件版本。sendmail通过 重新编译后无需重新启动守护进程makemap

如何测试:

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

-C file- 使用备用配置文件
-d60.5- 打开跟踪地图查找(包括 mailertable 地图)

相关内容