We have a site, logged-in users can send private messages to other users on site.
When a user sends a new private message to the other user on site, the receiver is notified by email ("Hey, you received a new private message on site").
Now, suppose I'm a malicious user, I start spamming tons of private messages. That will result in tons of notifications emails. What is the best practice to block this?
Not necessarily "best practice", but options include:
Another one to keep in mind and deal with is abuse, e.g. genuine users who repeatedly send offensive private messages. For this, consider a bozo system: a user marked as a bozo can interact with the site normally, but only bozos can read another bozo's posts — they're visible amongst themselves and invisible to everyone else.