How to 'store' email templates in the site? On certain events, defined in code, specific mails are sent to certain users in the site (such as on node_save if some value has changed etc).

The content managers need access to those mail templates in order to be able to change literals.

I've thought about having the mail's body inside the node as a field with a 'dummy' default value, but that seems a bit crude. Is there a better way to have my mail templates stored somewhere in the site and access them from code?
It all depends on usage patterns of that feature.

For example if you only need one master template and edits are global (e.g apply to all events) then the "correct" storage could be inside the variable table.

You can expand on the above design by suffixing those variable keys with the node type (or whatever differentiates one template from another). So you could have entries such as:


mail_template_event
mail_template_publication
mail_template_press_release


or in the case of "typed" events:


mail_template_event_internal
mail_template_event_external
mail_template_event_generic


Keeping the mail template on a node field will be easier in terms of programming though. Because if you fetch the template from an "external" source (such as the variable table) you'll need to handle presentation within the node edit screen and update of the template in case it was altered.