有没有一种优雅的方式来获取 sendmail 中的新变化?

有没有一种优雅的方式来获取 sendmail 中的新变化?

是否有一种优雅的方式可以让 Sendmail 重新加载/处理配置更改,而sendmail.mc无需完全重新启动服务并可能影响当时正在进行的 smtp 传送?

我想我正在寻找apachectl -k gracefulapache 中与 sendmail 等效的程序。

答案1

sendmail 依赖于SMTP 协议确保交付的可靠性,不需要依赖巧妙的服务器实现. 这就是为什么据我所知它并不存在。

当你重新启动 sendmail 时,它会终止所有传入连接并报告临时错误,然后发送 421 响应,并期望按照 RFC 5321 的要求稍后重试投递。第 3.8 节 和第4.2.5节。

任何中断和未送达的外发消息也将在重新启动后从 sendmail 维护的队列中进行处理。

答案2

sendmail.mc您需要跟踪的不是更改,而是sendmail.cf。Sendmail 读取sendmail.cfsendmail.mc写在 m4 中,输出为sendmail.cf。因此您需要先生成它,然后再生成kill -HUPsendmail 进程 ID。

在 Debian / Ubuntu 系统上运行sendmailconfig就足够了。在 CentOS 中你需要类似的东西:

cd /etc/mail
/etc/mail/make
service sendmail restart

这样你就大功告成了。这些会产生一个更新sendmail.cf,然后重新启动 sendmail。

相关内容