No diretório sendmail contrib/
há um script perl qtool.pl
que permite fazer intervenções seguras em diretórios de spool enquanto o sendmail está sendo executado. Você pode excluir, rejeitar, mover e filtrar por idade, tamanho, remetente, destinatário e assunto (entre outras coisas).
Inexplicavelmente, ele não está incluído no pacote principal do sendmail do CentOS, mas você pode encontrá-lo no sendmail-doc rpm (graças ao kubanczyk por notar isso), ou você pode extraí-lo da distribuição fonte (ftp://ftp.sendmail.org/pub/sendmail/sendmail-current.tar.gz ) . Tem dependências mínimas, todas devem fazer parte de uma instalação perl normal.
Para excluir mensagens, use -d
:
qtool.pl -d -e '($msg{headers}->{Subject} =~ /whatever you need/i)' /var/spool/mqueue
Para movê-los para um diretório off-line de mensagens (mais seguro):
mkdir /var/spool/mqueue-junk
qtool.pl -e '($msg{headers}->{Subject} =~ /whatever you need/i)' \
/var/spool/mqueue-junk /var/spool/mqueue
Note que é " qtool.pl destination/ source/
". Arquivos bloqueados (aqueles com um "*" pelo ID da fila em mailq
output) não serão movidos, você pode precisar tentar novamente para pegá-los.
Você tem a opção de executar essa fila mais tarde com sendmail -qR [...] -O QueueDirectory=/var/spool/mqueue-junk
.
(Sabe-se que versões mais antigas de qtool.pl
não analisam os cabeçalhos corretamente, você precisa omitir a primeira letra na maioria dos cabeçalhos, por exemplo, $msg{headers}->{ubject}
em vez de {Subject}
)