I ran into an issue where a user was spamming and queue up thousands of email in our cPanel server. To clear it out, I did this:
/etc/init.d/exim stop
exim -bpru | awk {'print $3'} | xargs exim -Mrm
or
exim -bpru|grep frozen|awk {'print $3'}|xargs exim -Mrm
/etc/init.d/exim start
I had about 120k emails in queue and it took about 20 seconds to remove them all. If you want to fine tune it, you can have exim delete only specific emails in queue:
grep -lr 'a certain string' /var/spool/exim/input/ | \sed -e 's/^.*\/\([a-zA-Z0-9-]*\)-[DH]$/\1/g' | xargs exim -Mrm
Credit to: http://bradthemad.org/tech/notes/exim_cheatsheet.php
To delete frozen emails from a specific email address:
exiqgrep -i -f luser@example.tld | xargs exim -Mrm
If you just want to delete mail queue directories, sometimes faster delete:
/var/spool/exim/input and the /var/spool/exim/msglog directories