O postfix não tem um utilitário como o exigrep, então você precisará usar os arquivos de fila para o assunto e, em seguida, enviar o id da fila para postsuper e excluí-los
Eu tenho um mailq que está recebendo backup com vários e-mails com a mesma linha de assunto. Gostaria de excluir todos os emails no mailq que correspondem a uma linha de assunto específica para que eles não sejam enviados. Alguma idéia de como fazer isso? Muito urgente como o spam relacionado.
Com uma típica instalação de postfix, o email estará em / var / spool / postfix. Existem várias filas. Você quer parar o postfix para poder usar postsuper com segurança para remover os emails. Este pequeno script irá remover todos os e-mails que correspondem a uma determinada string. No nosso caso, precisávamos encontrar milhares de e-mails que tivessem a mesma linha de assunto.
Nesse caso, todos os e-mails foram adiados porque nosso serviço de reencaminhamento os rejeitou por estarmos acima do limite.
cd /var/spool/postfix/deferred
grep -r -i -l "This was the subject line" ./ | cut -d/ -f3 | postsuper -d -
Algumas notas importantes sobre isso:
Espero que isso ajude as pessoas que encontram isso e estão procurando por instruções mais específicas.
Apenas um comando alternativo para fazer o mesmo proposto pelo gview:
find /var/spool/postfix/deferred/ -exec grep -l 'Subject: this was the subject line' {} \; | xargs -r -n1 basename | xargs -r -n1 postsuper -d
Você pode usar:
postqueue -p | grep '[email protected]' | cut -d ' ' -f1 | tr -d '*' | postsuper -d -
Tags email postfix linux spam email-server