Today we’ve got a chunk of Run Your Own Mail Server.
For many years Jon Postel, the Yoda of the primordial Internet, suggested that software should be strict in what it sends but generous in what it accepts. When you wrote an SMTP client you should make it adhere to the standards, but your SMTP server should accept that other people would screw up. In other words: accept the foibles of others.
Spammers’ goal is to deliver the most junk in a minimum of time. Accepting the foibles of others offers spammers a whole bunch of latitude. Spambots implement a stripped-down SMTP that works on most servers. Accepting only clients that rigorously adhere to the protocol definition blocks those spambots. A trickier spambot might implement the beginning part of the protocol correctly, but try to abuse it later. You can check for those violations as well, but those tests might be more intrusive and force legitimate senders to resend their messages.