The problem with heuristics is that they are simple to circumvent - all it requires is a little trial and error. We could do something more clever - for example using a classifier/machine learning to filter SPAM, but fact of the matter is: SPAM looks like content and the only reliable way of recognizing is, to see it happen multiple times, across sites.
that is why these services require IPs - they learn from multiple sites and recognize a spammer IP for a while. And of course they also do content analysis.
The problem with heuristics is that they are simple to circumvent - all it requires is a little trial and error. We could do something more clever - for example using a classifier/machine learning to filter SPAM, but fact of the matter is: SPAM looks like content and the only reliable way of recognizing is, to see it happen multiple times, across sites.
that is why these services require IPs - they learn from multiple sites and recognize a spammer IP for a while. And of course they also do content analysis.