Is there a way to protect such publicly available forms from spammers? Is *captcha the only way to do this?
Using something like CSRF token doesn't seem to solve the problem.
The back-end looks for the real email address in the "fax" field, and silently ignores the form submit if it sees anything in the "email" field.I don't remember where I saw this trick a few years ago, I didn't think of it myself. It has worked pretty well on multiple sites that have exposed "Contact us" forms.