Thanks for your suggestion, it's clear and straightforward.
We've avoided implementing an IP block because of the fact that IP addresses change. That bad person's IP address this week might be a good person's IP address next week.
So, without an automated way of un-banning IP addresses after a time, problems arise.
We're planning on providing a service that might resolve all this. Here's how it would work:
The un-banning period at step 4 can be done in all sorts of ways and certain IP addresses may never be un-banned.
- FormMail users such as yourself would subscribe to this service (hosted by us).
- If you receive a spam form submission such as the ones you've described, you'd login to the service and copy-and-paste the form results or just a special "Originating IP address" value.
- Your copy of FormMail running on your server would check the list of spam IP addresses on the server for each form submission. If found, the results would be flagged with an "X-SPAM" header, and your email program can then place it in the spam folder. There would be an option to reject the submission entirely, instead.
- The service would automatically un-ban IP addresses after a period of time. Probably 1 month as a default. If someone else reports the same IP address then the un-banning period would reset to that day - making it 1 month from the date of the new report.
The great thing about this service is that all FormMail users get to share the anti-spam detection of everyone else.
Does that sound like a good solution?