¿Existe una manera elegante de que Sendmail recargue/procese los cambios de configuración sendmail.mc
sin reiniciar completamente los servicios y potencialmente afectar la entrega SMTP que está en progreso en ese momento?
Supongo que estoy buscando el equivalente de sendmail apachectl -k graceful
en apache.
Respuesta1
sendmail se basa en los mecanismos de reintento en elprotocolo SMTPpara la confiabilidad de la entrega y no necesita depender de unimplementación inteligente del servidor. Por eso, hasta donde yo sé, eso no existe.
Cuando reinicia, sendmail simplemente cancela cualquier conexión entrante con un error temporal y envía una respuesta 421 esperando que la entrega se vuelva a intentar más tarde según RFC 5321.sección 3.8 y Sección 4.2.5.
Cualquier mensaje saliente interrumpido y no entregado también se procesará desde la cola que mantiene sendmail después de un reinicio.
Respuesta2
No son sendmail.mc
los cambios los que necesita rastrear, sino sendmail.cf
. Sendmail lee sendmail.cf
. sendmail.mc
está escrito en m4 y la salida es sendmail.cf
. Por lo tanto, primero debe generarlo y luego kill -HUP
el ID del proceso de sendmail.
En sistemas Debian/Ubuntu con ejecutar sendmailconfig
es suficiente. En CentOS necesitas algo como:
cd /etc/mail
/etc/mail/make
service sendmail restart
Y ya está. Estos generan un sendmail actualizado sendmail.cf
y luego reinician.