When writing HTML I hide email addresses via CSS:
james<span style="display: none;">[nospam]</span>@<span style="display: none;">[nospam]</span>virtualnightclub<span style="display: none;">[nospam]</span>.<span style="display: none;">[nospam]</span>net
A browser would render it visibly but bots would generally only see the raw html.
The allure of the setting is that users can't go and choose stupid names; if they chose something inappropriate I can just purge the request, if they choose something in the beginning that is not appropriate they're asked to fix the issue or their account is terminated.