Name: mustache-mailer
Owner: npm
Description: send emails using nodemailer and mustache templates
Created: 2015-02-14 02:17:46.0
Updated: 2018-01-22 18:45:40.0
Pushed: 2018-01-12 21:36:17.0
Homepage: null
Size: 88
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
A mustache-template-backed mailer. Built with handlebars, and nodemailer, inspired by ActionMailer.
create a templates directory with the following naming convention:
foo.text.hbs
, for text email templates.
foo.meta.hbs
, meta information in JSON format, e.g., subject
.
foo.html.hbs
, for html email templates.
instantiate MustacheMailer
with:
transport
: the transport module you wish to use, e.g., SES.
templateDir
: the path to the template directory.
mm = new MustacheMailer({
ansport: require('nodemailer-ses-transport')({
accessKeyId: 'AWSACCESSKEY',
secretAccessKey: 'AWS/Secret/key'
,
mplateDir: './mail-templates'
MessageMailer
instance to grab a template:html
template and a text
template, both will be sent.sendMail
are sent to nodemailer
, and
to the mustache templates.msg = mm.message('confirmation', function(err, msg) {
g.sendMail({
to: 'bencoe@gmail.com',
name: 'Ben',
id: 'adfasdfadsfasdf'
;
tokenFacilitator
PluginIt often arises that you'd like to toss a token inside an email, e.g., click this confirmation link to change your password.
For generating these tokens, MustacheMailer allows you to install a
tokenFacilitator
plugin:
mm = new MustacheMailer({
ansport: mock,
mplateDir: path.resolve(__dirname, './fixtures'),
a fake token facilitator.
kenFacilitator: {
generate: function(data, cb) {
setTimeout(function() {
data.email.should.eql('zeke@example.com');
data.name.should.eql('Zeke');
return cb(null, parseInt(Math.random() * 256));
}, 20);
}
://example.com/{{{tokenHelper name=name email=email}}}
key
, value
pairs in data.