是否有一种优雅的方式可以让 Sendmail 重新加载/处理配置更改,sendmail.mc
而无需完全重新启动服务并可能影响当时正在进行的 smtp 交付?
我想我正在寻找相当于apachectl -k graceful
apache 的 sendmail。
是否有一种优雅的方式可以让 Sendmail 重新加载/处理配置更改,sendmail.mc
而无需完全重新启动服务并可能影响当时正在进行的 smtp 交付?
我想我正在寻找相当于apachectl -k graceful
apache 的 sendmail。
sendmail 依赖于SMTP 协议中的重试机制来确保传递的可靠性,并且不需要依赖于巧妙的服务器实现。这就是为什么据我所知不存在的原因。
当您重新启动 sendmail 时,只需中止任何带有临时错误的传入连接并发送 421 响应,期望稍后根据 RFC 5321第 3.8 节和第 4.2.5 节重试传递。
任何中断和未送达的传出消息也将在重新启动后从 sendmail 维护的队列中处理。
您需要跟踪的不是
sendmail.mc
更改,而是sendmail.cf
. Sendmail 读取sendmail.cf
.sendmail.mc
用 m4 编写,输出为sendmail.cf
. 因此,您需要先生成它,然后再kill -HUP
生成 sendmail 进程 ID。在 Debian/Ubuntu 系统上运行
sendmailconfig
就足够了。在 CentOS 中你需要类似的东西:你完成了。这些会生成一个最新的
sendmail.cf
并在之后重新启动 sendmail。