Como posso apagar todas as mensagens de um determinado endereço do mailqueue?

3

Temos muitas mensagens na fila de mensagens de um determinado endereço. Eu quero apagar o lote deles. Eu encontrei maneiras de excluir por linha de assunto, mas eu quero pesquisar por endereço, e isso parece ser muito mais complicado. (Nota: estas são principalmente mensagens de saída.)

Alguns Googling encontraram este comando em HowToForge , mas não há explicação sobre o que isso faz.

postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } / spammer@example\.net/ { print $1 }' | tr -d '*!' | postsuper -d - 

Eu estava tentando usar mailqueuemng, mas não fui muito longe (não tem um --help, por um lado).

    
por TRiG 22.07.2013 / 20:51

2 respostas

6

O pipeline pode ser analisado passo a passo para ver o que ele faz. Tente executar cada comando em sequência até entender todos:

postqueue -p

imprima a fila

postqueue -p | tail -n +2 

livre-se das primeiras duas linhas

postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } / spammer@example\.net/ { print $1 }' 

procure por qualquer linha com [email protected]; imprima o primeiro campo dessas linhas.

postqueue -p | tail -n +2 | awk 'BEGIN { RS = "" } / spammer@example\.net/ { print $1 }' | tr -d '*!'

livra-se de qualquer *!

Isso gerará vários IDs de filas.

O comando final diz ao postfix para excluir esses ids de fila.

Leia as páginas do Fine Man sobre postqueue , tail , tr e postsuper . Awk é mais complicado, é a sua própria linguagem. você precisará de um pouco mais de uma página de manual para entender sua complexidade, embora, em minha experiência, 99% do uso do awk seja muito parecido com aquele one-liner específico.

    
por 22.07.2013 / 21:05
2

Desculpe adicionar uma resposta a uma pergunta já respondida.

Isso é para pessoas que precisam fazer isso diariamente (clientes que enfrentam campanhas de spam).

Tem um cara que escreveu "pymailq", uma ferramenta que pode ajudar a lidar com isso.

Eu também bifurquei essa ferramenta e adicionei compatibilidade com o zimbra e alguns recursos adicionais.

Aqui está o repositório original

Aqui está meu garfo

A instalação é assim:

git clone https://github.com/moebiuseye/pymailq.git
cd pymailq
git checkout dev

virtualenv venv
source venv/bin/activate

python ./setup.py install
pqshell
    
por 05.09.2016 / 17:44

Tags