Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:happyman_eric:qmail
qmHandle
qmHandle-queuelifetime.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File qmHandle-queuelifetime.patch of Package qmHandle
--- qmHandle.orig 2004-05-31 18:23:13.000000000 -0400 +++ qmHandle 2004-05-31 19:02:13.000000000 -0400 @@ -17,6 +17,9 @@ # Set this to your qmail queue directory (be sure to include the final slash!) my ($queue) = '/var/qmail/queue/'; +# Set this to the location of your queuelifetime file, if you have one +my ($queuelifetime) = '/var/qmail/control/queuelifetime'; + ##### # If your system has got automated command to start/stop qmail, then # enter them here. @@ -70,6 +73,7 @@ $arg eq '-c' and do { $color = 1; last SWITCH; }; $arg eq '-s' and do { push @actions, "Stats()"; last SWITCH; }; $arg =~ /^-m(.+)/ and do { push @actions, "ViewMsg($1)"; last SWITCH; }; + $arg =~ /^-b(.+)/ and do { push @actions, "BounceMsg($1)"; last SWITCH; }; $arg =~ /^-d(.+)/ and do { push @actions, "DelMsg($1)"; $dactions++; last SWITCH; }; $arg =~ /^-S(.+)/ and do { push @actions, "DelMsgSubj(\"$1\")"; $dactions++; last SWITCH; }; $arg eq '-D' and do { push @actions, "DelAll()"; $dactions++; last SWITCH; }; @@ -337,6 +341,46 @@ } +# Bounce a message in the queue +sub BounceMsg { + my ($rmsg) = shift; + + unless ($rmsg =~ /^\d+$/) { + + print "$rmsg is not a valid message number!\n"; + + } else { + + # Get appropriate bouncing time + my ($mtime); + if(open CONF, "< $queuelifetime") { + chomp($mtime = <CONF>); + close CONF; + } else { + $mtime = 604800 # default of 7 days + } + # New modification time is current - queuelifetime + $mtime = time - $mtime; + + # Search message + my ($ok) = 0; + foreach my $msg(@msglist) { + if ($msg =~ /\/$rmsg$/) { + $ok = 1; + print "Changing modification time of $rmsg (will get bounced at next queue run)...\n"; + utime $mtime, $mtime, "${queue}info/$msg"; + last; + } + } + + # If the message isn't found, print a notice + if ($ok == 0) { + print "Message $rmsg not found in the queue!\n"; + } + + } +} + # Delete a message in the queue sub DelMsg { my ($rmsg) = shift; @@ -463,26 +507,31 @@ # Print help sub Usage { - print "qmHandle v$version\n"; - print "Copyright 1998-2003 Michele Beltrame\n\n"; - print "Available parameters:\n"; - print " -a : try to send queued messages now (qmail must be running)\n"; - print " -l : list message queues\n"; - print " -L : list local message queue\n"; - print " -R : list remote message queue\n"; - print " -s : show some statistics\n"; - print " -mN : display message number N\n"; - print " -dN : delete message number N\n"; - print " -Stext : delete all messages that have/contain text as Subject\n"; - print " -D : delete all messages in the queue (local and remote)\n"; - print " -V : print program version\n"; - print "\n"; - print "Additional (optional) parameters:\n"; - print " -c : display colored output\n"; - print " -N : list message numbers only\n"; - print " (to be used either with -l, -L or -R)\n"; - print "\n"; - print "You can view/delete multiple message i.e. -d123 -v456 -d567\n\n"; + print << "EOF"; +qmHandle v$version +Copyright 1998-2003 Michele Beltrame + +Available parameters: + -a : try to send queued messages now (qmail must be running) + -l : list message queues + -L : list local message queue + -R : list remote message queue + -s : show some statistics + -mN : display message number N + -bN : forcibly bounce message number N + -dN : delete message number N + -Stext : delete all messages that have/contain text as Subject + -D : delete all messages in the queue (local and remote) + -V : print program version + +Additional (optional) parameters: + -c : display colored output + -N : list message numbers only + (to be used either with -l, -L or -R) + +You can view/delete multiple messages i.e. -d123 -v456 -d567 + +EOF exit; } --- README.orig 2004-05-31 19:08:27.000000000 -0400 +++ README 2004-05-31 18:36:48.000000000 -0400 @@ -71,6 +71,7 @@ -R : list remote message queue -s : show some statistics -vN : display message number N + -bN : forcibly bounce message number N -dN : delete message number N -Stext : delete all messages that have/contain text as Subject -D : delete all messages in the queue (local & remote)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor