[Postfix-br] Fila postfix

Esdras La-Roque esdras.laroque em gmail.com
Sexta Maio 24 14:14:40 BRT 2013


Eu uso um script em perl "pfdel". Segue o conteúdo do script. Crie o
arquivo, copie e cole, depois atribua permissão de execução.

Esse script usa o "postsuper -d" do próprio postfix, com a diferença de
conseguir filtar o endereço que você informa e buscar suas IDs para apagar
de uma só vez.


######## INICIO DO SCRIPT ##################
#!/usr/bin/perl -w
#
# pfdel - deletes message containing specified address from
# Postfix queue. Matches either sender or recipient address.
#
# Usage: pfdel <email_address>
#

use strict;

# Change these paths if necessary.
my $LISTQ = "/usr/sbin/postqueue -p";
my $POSTSUPER = "/usr/sbin/postsuper";

my $email_addr = "";
my $qid = "";
my $euid = $>;

if ( @ARGV !=  1 ) {
        die "Usage: pfdel <email_address>\n";
} else {
        $email_addr = $ARGV[0];
}

if ( $euid != 0 ) {
        die "You must be root to delete queue files.\n";
}


open(QUEUE, "$LISTQ |") ||
  die "Can't get pipe to $LISTQ: $!\n";

my $entry = <QUEUE>;    # skip single header line
$/ = "";                # Rest of queue entries print on
                        # multiple lines.
while ( $entry = <QUEUE> ) {
        if ( $entry =~ / $email_addr$/m ) {
                ($qid) = split(/\s+/, $entry, 2);
                $qid =~ s/[\*\!]//;
                next unless ($qid);

                #
                # Execute postsuper -d with the queue id.
                # postsuper provides feedback when it deletes
                # messages. Let its output go through.
                #
                if ( system($POSTSUPER, "-d", $qid) != 0 ) {
                     # If postsuper has a problem, bail.
                        die "Error executing $POSTSUPER: error " .
                           "code " .  ($?/256) . "\n";
                }
        }
}
close(QUEUE);

if (! $qid ) {
        die "No messages with the address <$email_addr> " .
          "found in queue.\n";
}

exit 0;

######## FIM DO SCRIPT ####################


Em 24 de maio de 2013 13:00, Itamar S. <immaggoo at gmail.com> escreveu:

> Prezados,
>
> Preciso deletar e-mails (centenas) de um usuário especifico da fila do
> postfix.
>
> Alguém tem ideia do comando?
>
>
>
> _______________________________________________
> Postfix-br mailing list
> Postfix-br at listas.softwarelivre.org
> http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/postfix-br
>
>


-- 
*Esdras La-Roque*
Analista e Desenvolvedor de Sistemas
LPI-1 | MCITP | NCLA | DCTS
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/postfix-br/attachments/20130524/0080a859/attachment.html>


More information about the Postfix-br mailing list