There's actually no need for a mail server to be always-on. It could start up whenever a message arrives. Sandstorm is good at this kind of on-demand starting.
We very much intend to support using Sandstorm as your email server. It turns out, though, that e-mail is a complicated subject which operates on a different set of protocols from the rest of the web (SMTP vs. HTTP) and has a whole lot of hairy stuff you need to do to make it actually work (SPF, DKIM, ...). Since there are quite a few options out there already for handling email, we've chosen to focus elsewhere in the short term, but I hope to loop back to email in the coming months.
A grain can keep itself running in the background by requesting a wakelock from its Sandstorm supervisor process. While the grain holds the wakelock, it does not get automatically spun down, even if there are no users visiting it.
Last time I looked it seemed like that would never be supported because it would violate the sandstorm business model, which, as I understand it, appears to be selling very cheap hosting of grains, made possible because only disk resources are used when an grain is not currently in use.
This would seem preclude the hosting of services that need to be running all the time in the background.