Begin Note
Acredito que essa é uma pergunta semelhante, mas não duplicada, para outra pergunta de falha de servidor , porque a mensagem devolvida é para um endereço de e-mail legítimo que posso enviar para o momento com a mensagem devolvida restante na fila. Essa outra questão de falha de servidor me liga a uma resposta, em vez de fornecê-la dentro da resposta em si, que é algo para o qual fui marcado no passado.
End Note
Minha pergunta é como limpar um sistema sendmail bloqueado sem reiniciar. Eis alguns antecedentes:
Eu tenho um servidor Linux Red Hat Enterprise WS 5 dedicado exclusivamente à transferência e recebimento de informações de configuração de medidores e leituras de medidores. O servidor envia uma pequena quantidade de email usando o sendmail.
Linux h2oamr.Somewhereton1.local
2.6.18-348.el5 #1 SMP
Wed Nov 28 21:22:00 EST 2012
x86_64 x86_64 x86_64 GNU/Linux
Uma vez por mês, este pequeno script de shell é executado como root e, neste mês, alguns conteúdos voltaram mostrando que uma mensagem estava na fila.
#!/bin/bash
#
# sendmail_alive.sh
# Change History:
# Charles M. Norton 12/13/2010
# Fix header, and add su -l -c to send as amr.
/usr/bin/mailq -v > /tmp/mailq.txt
su -l amr -c \
"mail -s 'sendmail status' [email protected] < /tmp/mailq.txt"
Aqui está o que meu bot me enviou:
/var/spool/mqueue (1 request)
-----Q-ID----- --Size-- -Priority- ---Q-Time--- --------Sender/Recipient--------
r3E822QG016051* 1208 31671 Apr 14 04:02 <[email protected]>
<[email protected]>
Total requests: 1
Eu tentei enviar e-mails para o mesmo destinatário que o e-mail que ficou preso na fila, e isso ocorreu quase que imediatamente. No entanto, a mensagem original original permaneceu na fila do sendmail.
Depois, experimentei estes comandos:
sendmail -bm
sendmail -OTimeout.hoststatus=0m -q -v
mas continuou recebendo uma mensagem pid bloqueada. Infelizmente, não preservei a mensagem .pid bloqueada.
A reinicialização eliminou o problema.
É possível realizar a limpeza da fila sem reinicializar e, em caso afirmativo, como?