If all else fails, you can achieve similar results by means of a vacation response. Just replace "reject" in your code with "vacation".
The big difference between reject and a vacation response is that the vacation response is only sent to a specific sender, by default, once every three days, regardless of how many messages he sends you. I believe (though I have not tried it) the interval can be changed, but the vacation response will still not occur for every message received.
For more details on the sieve vacation response extension, see
https://tools.ietf.org/html/draft-ie...ve-vacation-07