Existe uma maneira elegante de fazer com que o Sendmail recarregue/processe alterações de configuração sendmail.mc
sem reiniciar completamente os serviços e potencialmente impactar a entrega SMTP que está em andamento naquele momento?
Acho que estou procurando o equivalente do sendmail apachectl -k graceful
no apache.
O sendmail depende dos mecanismos de repetição no protocolo SMTP para confiabilidade de entrega e não precisa depender de uma implementação de servidor inteligente . É por isso que isso não existe, tanto quanto eu sei.
Quando você reinicia, o sendmail simplesmente aborta todas as conexões de entrada com um erro temporário e envia uma resposta 421 esperando que a entrega seja repetida mais tarde conforme RFC 5321 seção 3.8 e seção 4.2.5.
Quaisquer mensagens de saída interrompidas e não entregues serão processadas da fila que o sendmail mantém após uma reinicialização também.
Não são
sendmail.mc
as alterações que você precisa rastrear, massendmail.cf
. Sendmail lêsendmail.cf
.sendmail.mc
é escrito em m4 e a saída ésendmail.cf
. Portanto, você precisa produzi-lo primeiro e depoiskill -HUP
o ID do processo sendmail.Em sistemas Debian/Ubuntu rodar
sendmailconfig
é o suficiente. No CentOS você precisa de algo como:E você está feito. Estes produzem uma atualização
sendmail.cf
e reiniciam o sendmail posteriormente.