Our exim mail server has been getting a bit flakey in the past several weeks. As far as I could tell it was being caused by junk mail getting caught in the queue. After a bit of research I believe I have found a combination of solutions that seems to do the trick (at least for me)
First of all you can get rid of all the null senders in your queue that are older than 12 hours.
exiqgrep -io43200 -f ‘^<>$’ | xargs exim -Mrm
The sender address is null if the message is a delivery failure report. This can happen from others sending as someone from your domain on an account that does not exist. (at least thats my understanding of it)
Then you can make sure all mail has an account associated with it via sender callouts. More information on sender callouts can be found below. This has been a big benefit as far as the size of my mail queue is concerned. After enabling sender verify my queue immediately dropped down to 100 from about 1800!