Há muito tempo uso um script (nomeado postdel), que é muito útil para deletar e-mails da fila do Postfix usando palavras chave, o que agiliza incrivelmente essa operação, se comparado ao padrão de deletar por queueID da mensagem.
Como vi hoje alguém na lista do Postfix perguntando por algo similar, resolvi compartilhar aqui o script (que é de autoria de André Galvani).
#!/usr/bin/perl
#
# Apaga mensagens na fila do Postfix
#
# Andre Galvani
# 2004/02/17
$regexp = $ARGV[0] || help();
@postqueue = `/usr/sbin/postqueue -p`;
for (@postqueue) {
if (/^(w+)(*|!)?s/) {
$queue_id = $1;
}
if($queue_id) {
if (/$regexp/i) {
$queue{$queue_id} = 1;
$queue_id = "";
}
}
}
open(POSTSUPER,"|/usr/sbin/postsuper -d -") || die "couldn't open postsuper" ;
foreach (keys %queue) {
print POSTSUPER "$_n";
}
close(POSTSUPER);
sub help {
print "n Use: $0nn";
print " Exemplo:n";
print " $0 sp.*@msn.com.brnn";
print " Obs.: Pode ser usado com regexp syntax.nn";
print "n";
exit;
}
Boa diversão pra todos 🙂
Deletando mensagens da fila do Postfix usando palavras chave