Emails and social media should cost money. Not a lot. Maybe $1 to send 10000 messages. Cheap enough that any legitimate user can pay. Too expensive for spammers. It would also end all the "email notification" noise, and make it impossible to anonymously AstroTurf opinions on social media.