Having managed to reduce the load on the qmail server (if not the number of spams in the mailboxes) by using several patches yesterday, it was time to see whether there is room for more improvement.
My earlier adventure included messing with doublebouncetrim, SPF and tarpitting patches. These were accompanied by a change to the quelifetime file, the number of mails in the queue dropped off from nearly 6000 to about the 1000 levels. Thereafter it seemed to hover between the 900-1100 levels without any indication of dropping still lower. The number of spams in the in boxes didn't really taper off either and SPF was a real disappointment.
Next I thought to try the goodrcptto patch. It works by rejecting mails to non existent users at the transaction stage. That would mean the mail never enters the queue and a bounce message is never created. That would make the double bounce trim patch redundant, and anyway the two patches are incompatible you cannot apply them together.
The tarpit patch and the SPF patch also turned out to be incompatible. While it would be nice to cause frustration to a spammer by causing him to wait a few seconds, tarpitting really isn't needed with the good reciept to patch. That's because it can reject mails if too many of the recipients are non existent.
goodrcptto works wonders, you can see thousands of entries in /var/log/qmail/smtp/current file showing how messages to invalid recipients have been rejected.
I have combined this with a further reduction in the queue life time. It's now just 6 hours. The result is that i only have 1 message in the queue right at this moment.