mail support

This is the draft version of mail support with minimum implementation. The parsing from view template is not implemented yet.

SendMail and SendFromTemplate are two helper methods for most use cases. SendMails sends the emails in a single connection.

It support both plain text and html or both.

Thinking about the queue, but before that, please help to review the design and suggest what I need to adjust.