postqueue -p

Permite ver quais as mensagens que estão na queue do servidor

postcat -q XXXXXXXXXXXX

Permite ver o conteúdo de uma mensagem que esteja na queue

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

Apagar todos os emails de/para um determinado email

mailq | tail -n +2 | awk 'BEGIN { RS = "" } # $7=sender, $8=recipient1, $9=recipient2 { if ($7 == "remover@ccems.pt" && $9 == "") print $1 }' | tr -d '*!' | postsuper -d -

Gerar o ficheiro de base de dados para o postfix ler

postmap /etc/postfix/virtual.cf
/etc/init.d/postfix restart

If your server has very high load and you want to temporarily move all message from the incoming queue to the hold queue, use the command:

postsuper -h ALL

to move the messages back to the incoming queue, use the command:

postsuper -r ALL

Procura todas as mensagens com mais de 3k e apaga-as. Deve ser feito na(s) pasta(s) /var/spool/postfix/(hold|incoming|queue|active)

find . -type f -size -3k -exec ls -lh {} \; | awk '{ print "postsuper -r " $9 }'

Procura todas as mensagens com remover@ccems.pt e move para outra pasta

grep -l -Z -r 'sasl_username=remover@ccems.pt' . | xargs -0 -I{} mv {} /var/spool/postfix/lixo_hold

Para apagar todas as mensagem com aquele login:

find /var/spool/postfix/active/ -type f \
        -exec grep -l 'sasl_username=utilizador@ccems.pt' '{}' \; | \
    xargs -n1 basename | xargs -n1 postsuper -d
find /var/spool/postfix/deferred/ -type f \
        -exec grep -l 'Authenticated sender: utilizador@ccems.pt' '{}' \; | \
    xargs -n1 basename | xargs -n1 postsuper -d