With the release of Sendmail 8.13.x there is a new anti-spam feature that you should seriously consider taking advantage of. The new feature is called greet_pause.
During an SMTP session, after the sender connects to port 25 on the recipient's MX, it should wait to receive the Sendmail banner prior to sending any further data. In the interest of spewing as much spam as possible, many spammers disregard this and simply force send all of the SMTP commands at once and move on. The receiving MTA typically takes this spew and delivers it.
greet_pause tells Sendmail to wait for a specified amount of time before sending the banner and if the sender spews commands early the message is rejected. This can drastically cut down on the amount of spam you receive on a Sendmail system. You implement this by adding the following to your sendmail.mc:
FEATURE(`greet_pause',5000)
This tells sendmail to wait 5 seconds before displaying the banner. This should be plenty of time for a spammer to begin spewing, but short enough to not cause any timeout problems for legitimate E-mail. You can set it to whatever you think is best, I would suggest something in the 2-10 second range.
Some legit MTAs might still have problems with this, so you can whitelist them by adding the following to your acess file and rebuilding the database:
GreetPause:localhost 0
GreetPause:24.124.0.1 0
This would not delay the banner for localhost and the IP 24.124.0.1. I recommend at least putting in localhost as there is no need to delay yourself.