We got pretty good results by letting users block messages from users who do not meet certain criteria. We gave users three different filters: 1. Allow messages from users who live in those areas where you are looking company 2. The same as 1., but also age and gender must match your "dream partner" settings 3. And finally allow messages from users who meet X percent of your dream partner settings
And of course you could block users after they have messaged you, but that is already too late if you get 100 harassment messages per day.