Sometimes your exim mail queue can grow quite large. Especially when some website (WordPress!) is hacked and is sending tons of spam mail. Or when you end up with thousands of frozen mails. You probably don’t want to remove all emails from queue. That would mean legit emails too. You want to specify and delete only specific ones.
For sake of this demonstration we want to delete all emails that contains string domain.com
18h 60K 1b33Uz-000LkN-48 <info@domain.com> (someuser) info@somedomain.com
Just run command below and all mails with string match doman.com will be deleted from mail queue.
exim -bp | grep "domain.com" | awk {'print $3'} | xargs exim -Mrm Or for example, in case of frozen mails: exim -bp | grep froz | awk {'print $3'} | xargs exim -Mrm