View Single Post
  #3 (permalink)  
Old 07-03-2009, 04:08 AM
ChrisFirth ChrisFirth is offline
Registered User
 
Join Date: Apr 2008
Posts: 18
ChrisFirth is on a distinguished road
If you have SSH access, find the message ID's using "exiqgrep -r <recipient>" or "exim -bp", then you can deliver with "exim -M <message ID>".

If you prefer you can use xargs and awk magic to the above automatically...

eg. To flush total mail queue:

exim -bp | egrep ".*\<.*>.*$" | awk '{print $3}' | xargs -n 1 -P 25 exim -M

You can change the -P argument to a high/lower number if you prefer (its the number of processes xargs will open, so the above command will process 25 messages concurrently).

eg. To deliver all emails to a domain:

exiqgrep -r <domain> | egrep ".*\<.*>.*$" | awk '{print $3}' | xargs -n 1 -P 25 exim -M

Last edited by ChrisFirth; 07-03-2009 at 04:12 AM.
Reply With Quote