How to remove from Postfix queue only one mail address

execute this command :

vim postfix-delete.pl 

insert this code:

#!/usr/bin/perl

$REGEXP = shift || die “no email-adress given (regexp-style, e.g. bl.*\@yahoo.com)!”;

@data = qx</usr/sbin/postqueue -p>;

for (@data) {

  if (/^(\w+)(\*|\!)?\s/) {

     $queue_id = $1;

  }

  if($queue_id) {

    if (/$REGEXP/i) {

      $Q{$queue_id} = 1;

      $queue_id = “”;

    }

  }

}

#open(POSTSUPER,”|cat”) || die “couldn’t open postsuper” ;

open(POSTSUPER,“|postsuper -d -“) || die “couldn’t open postsuper” ;

foreach (keys %Q) {

   print POSTSUPER $_\n;

   };

close(POSTSUPER);

execute this command:

chmod 755 postfix-delete.pl

run in this way:

./postfix-delete.pl  direzione@centromedicosantamargherita.it

Leave a Reply