是否有一種優雅的方法可以讓 Sendmail 重新加載/處理配置更改,而sendmail.mc
無需完全重新啟動服務並可能影響當時正在進行的 smtp 傳遞?
我想我正在尋找apachectl -k graceful
apache 中的 sendmail 等效項。
答案1
sendmail 依賴重試機制SMTP協定為了交付的可靠性,並且不需要依賴巧妙的伺服器實現。這就是為什麼據我所知,這種情況不存在。
當您重新啟動時,sendmail 只是中止任何傳入連線並出現臨時錯誤,並發送 421 回應,期望稍後按照 RFC 5321 重試傳遞第3.8節 和第 4.2.5 節。
重新啟動後,任何中斷和未傳遞的傳出訊息也將從 sendmail 維護的佇列中處理。
答案2
sendmail.mc
您需要追蹤的不是更改,而是sendmail.cf
。 Sendmail 讀取sendmail.cf
。sendmail.mc
用 m4 編寫,輸出為sendmail.cf
.所以你需要先生成它,然後產生kill -HUP
sendmail進程ID。
在Debian/Ubuntu系統中運作sendmailconfig
就足夠了。在 CentOS 中你需要類似的東西:
cd /etc/mail
/etc/mail/make
service sendmail restart
你就完成了。這些會產生最新的sendmail.cf
並隨後重新啟動 sendmail。