I am not sure its the cheapest solution but by far is has been the most effective that we have found. We use multiple Linux based servers as inbound MX servers and outbound servers which off-loads all the major effort from SM. Of course you can do this with a single server. We have a large volume of inbound and outbound mail so we choose to do it with four inbound MX servers and two outbound servers. By setting equal priorities to the MX entries in our DNS we get excellent load balancing across all of our MX servers. Each server runs Exim, SpamAssassin, Pyzor, Razor, DCC, ClamAV and DynaWall. All these package are free and perform very well, and on the Linux platform, they are extremely stable. The net result is a 67% (on average) rejection of all mail before it even hits our SM server. We have been running this configuration for several years now and our customers love it.
it's not just about spam identification. If you really want to make an impact on your bad mail you need to look at:
Invalid Email Headers
Forged Headers
Invalid Helo
Invalid Helo Domains or malformed Helo domains
Reverse DNS issues
Sender verification
Pipelining
Recipient verification
Virus
Dynamic IP's
RBL's
And of course Spam identification
Using the excellent header identification features of SM we can easily tag inbound mail for processing by SM to be all inclusive of the many SPAM checks we perform on the external servers.
Our experience tells us that if we expect the SM server to perform the extensive checks of all inbound mail we perform, the server is doomed. The same holds true for outbound mail. Setting up gateways on outbound mail offloads a huge amount of work from the SM server. A scan of these forums over time is a testimony to the fact that attempts to have SM handle all this work will result in failure.
All in all, the SM server runs our mail services with no stress at all, and we process a few million pieces of mail/day not to mention mailing lists and other mail functions.
If your trying to get a really effective solution to reduce the amount of garbage hitting your SM server, not just from SPAM and viruses but from many other things, using the SM server to do it all is a complete waste of time. I'm not trashing the SM server, we love it. But it is not capable of being an all in one solution for todays mail issues. And as an added bonus, which nobody likes to think about, if our mail server goes off line for any reason, all inbound mail is held at the MX servers for delivery when the SM server comes back up. This makes updates and changes to the SM server less stressful and while mail may be delayed slightly to our users, nothing is lost of sent back.
GA