This is a filter you apply to the content once it's on your end right? I'm against complicating the protocol (and probably relays performance) but something similar as a filter to the relay would be cool
Discussion
Yes, this is only applicable sample in client side. I modified Snort code locally only running on my phone. I think I have 90% free of spam with this simple approach. Probably, most of spam is advertising type spam could be solved like this.
I think for complex spam message should be addressed by relay using various strategy (rate-limit, text similarity analysis, etc). We don't need to list all the keyword. At least, we as the simple user could filter on our end.
