X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fexiqgrep.src;h=d900e99337a49be8709277bae1eb0d203f34aa22;hb=040721f2bc088d5e717c0475975ed6158352dce6;hp=75265a2bb37ed0e277c521984ddd7d8bdc0fad71;hpb=196f5966a092d873df256956f6f88d4b5d3cb803;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/exiqgrep.src b/src/src/exiqgrep.src index 75265a2bb..d900e9933 100644 --- a/src/src/exiqgrep.src +++ b/src/src/exiqgrep.src @@ -15,9 +15,10 @@ # Routine for extracting the UTC timestamp from message ID # lifted from eximstat utility -# Version 1.1 +# Version 1.2 use strict; +BEGIN { pop @INC if $INC[-1] eq '.' }; use Getopt::Std; # Have this variable point to your exim binary. @@ -43,8 +44,11 @@ if ($^O eq 'darwin') { # aka MacOS X $base = 62; }; -getopts('hf:r:y:o:s:zxlibRc',\%opt); +getopts('hf:r:y:o:s:C:zxlibRca',\%opt); +if ($ARGV[0]) { &help; exit;} if ($opt{h}) { &help; exit;} +if ($opt{a}) { $eargs = '-bp'; } +if ($opt{C} && -e $opt{C} && -f $opt{C} && -R $opt{C}) { $eargs .= ' -C '.$opt{C}; } # Read message queue output into hash &collect(); @@ -60,6 +64,7 @@ sub help() { Exim message queue display utility. -h This help message. + -C Specify which exim.conf to use. Selection criteria: -f Match sender address sender (field is "< >" wrapped) @@ -78,11 +83,12 @@ Display options: -i Message IDs only -b Brief Format -R Reverse order + -a All recipients (including delivered) EOF } sub collect() { - open(QUEUE,"$exim $eargs |") or die("Error openning pipe: $!\n"); + open(QUEUE,"$exim $eargs |") or die("Error opening pipe: $!\n"); while() { chomp(); my $line = $_; @@ -115,13 +121,13 @@ sub selection() { foreach my $msg (keys(%id)) { if ($opt{f}) { # Match sender address - next unless ($id{$msg}{from} =~ /$opt{f}/); + next unless ($id{$msg}{from} =~ /$opt{f}/i); } if ($opt{r}) { # Match any recipient address my $match = 0; foreach my $rcpt (@{$id{$msg}{rcpt}}) { - $match++ if ($rcpt =~ /$opt{r}/); + $match++ if ($rcpt =~ /$opt{r}/i); } next unless ($match); }