Attachment support for Mailer

Adds attachment support for the Mailer service.
Wasn't thinking about protected methods as breaking API changes, but of course it is. I'll just reintroduce renderContent and delegate to render.