I host my own mail, and mail for several of my friends, as well as some small clients. Lots of these people like to put their email addresses up o the web unprotected (like me). I've been using Qpsmtpd to manage smtp services, and along with Spamassassin it has been doing an excellent job of keeping the spam volume down. I initially gave myself a point for that.
However over the past couple of months the volume has steadily been increasing and getting to the point where Spamassassin wasn't stopping everything, and I would get at least a dozen spams a day. So I gave up a point to the spammers.
Now Qpsmtpd has a greylist plugin written by Gavin Carr, but I haven't been able to implement it because I have users who can't deal with the fact that this would mean their mail would be delayed by at least 300 seconds. I, however, can't deal with the spam. So I needed domain specific greylisting. This is where perl comes in.
In less than 30 minutes, I was able to add domain specific greylists functionality to the existing greylist plugin. My config/plugins directory now contains the line:
denysoft_greylist domains redhotpenguin.com|taperfriendlymusic.org
And in the greylist plugin:
my $domains = $config->{domains}; my $host = $rcpt->host; unless ( $host =~ m/$domains/ ) { return DECLINED; } # continue with greylist plugin
Simple eh? This has cut the existing spam volume down by 90% at least, while allowing my other hosted domains to receive mail normally. One point for me, thanks to Perl.