FWIW, I've abandoned SpamAssassin in favor of dspam:
<http://dspam.nuclearelephant.com>
which I've found to be very accurate without requiring any tuning or regular updates.
Is there a qpsmtpd plugin for dspam?
Sadly no, since dspam is designed specifically to:
1) work only for single recipients (that's not completely true but close enough); and
2) be part of the Local Delivery Agent.
The primary dspam developer has recently made changes which make the system more client/server oriented, but nowhere near what spamc/spamd is for SpamAssassin. He is also working on a LMTP interface of sorts, so that might be a possible direction to go in. The problem is that dspam assumes it is going to be the end of the chain, or at least hand off to the LDA, so it is tough to make it inline with the SMTP transaction where qpsmtpd lives.
I have some ideas for writing a plugin for qpsmtpd that binds directly with the dspam library, but there is a lot of what should be library code still in the client (even the new client/server) so I don't know how well this is going to translate. It is also going to require more XS coding than I have done before, so it is going to be a tough slough...
John
