Existe uma maneira elegante de recarregar/processar alterações de configuração do Sendmail sendmail.mc
sem reiniciar completamente os serviços e impactar potencialmente a entrega de SMTP que está em andamento naquele momento?
Acho que estou procurando o equivalente do sendmail apachectl -k graceful
no apache.
Responder1
sendmail depende dos mecanismos de nova tentativa noProtocolo SMTPpara confiabilidade de entrega e não precisa depender de umimplementação de servidor inteligente. É por isso que isso não existe, até onde eu sei.
Quando você reinicia o sendmail, simplesmente aborta qualquer conexão de entrada com um erro temporário e envia uma resposta 421 esperando que a entrega seja tentada novamente mais tarde, conforme RFC 5321seção 3.8 e Seção 4.2.5.
Quaisquer mensagens de saída interrompidas e não entregues também serão processadas a partir da fila que o sendmail mantém após uma reinicialização.
Responder2
Não são sendmail.mc
as mudanças que você precisa acompanhar, mas sendmail.cf
. Sendmail lê arquivos sendmail.cf
. sendmail.mc
está escrito em m4 e a saída é sendmail.cf
. Então você precisa produzi-lo primeiro e depois kill -HUP
o ID do processo sendmail.
Em sistemas Debian/Ubuntu rodar sendmailconfig
é suficiente. No CentOS você precisa de algo como:
cd /etc/mail
/etc/mail/make
service sendmail restart
E você terminou. Isso produz uma atualização sendmail.cf
e reinicia o sendmail posteriormente.