I want to block all emails unless the sender authenticates. Can spamdyke do that?
Yes. As of version 4.0.0, spamdyke accepts the smtp-auth-level option. When it is set to require-auth, all connections are rejected unless the sender has authenticated. Prior to version 4.0.0, the easiest way to accomplish this was to first enable SMTP AUTH. Then, create an IP blacklist file that will block all IP addresses: 0.0.0.0/0.0.0.0 spamdyke will disable its filters for authenticated users and block everyone else.