D:
Some servers are a reseller style system, so your not in control of all the users. This is the ONLY way to do it and it will stop the network being used for spam
It is not the only way, even if you write it in capitals. You provide documentation on how to send email (ie the relay's details) and if they do anything else, a polite REJECT from the firewall should help them along. That is (IMO) the best way to do it. Redirect is a poor substitute for instructions.
Redirect will work in many (most?) cases, but it will confuse the clients in others. Don't mistake it for a perfect solution. I'm sure some of us have tunnelled around such draconian blocks when we needed to.
Please don't think that that alone will stop the network being used for spam. If customers can send email from web scripts, one of them will put a buggy script up and a spammer will use it as a relay. Unless you do something a bit cleverer on the server to monitor it, you'll not be able to block it. You should also block port 25 incoming apart from your mail server, else you'll be used as a two-step relay and the official mail server will be dropped into the blackholes too.