To do what you are asking, you would need either Drupal Commerce or Ubercart
What you would do, is create a role in Drupal called “Premium,” or whatever you would like, then sell that role to users who buy it through either Commerce or Ubercart. Then you would have a Media content type that only Premium members can access.
For a mail system, I am not sure what you mean, but there is Private Message that lets users send each other messages. There is also Rules which can send out emails, and do all kinds of crazy things based on actions that happen within your website.