Express Handlebars plugin for Nodemailer
This plugin works with nodemailer 6.x. And uses the express-handlebars view
engine to generate html emails.
Install from npm
npm install nodemailer-express-handlebars
Usage
const hbs = require('nodemailer-express-handlebars');
transporter.use('compile', hbs(options));
const mail = {
from: 'from@domain.com',
to: 'to@domain.com',
subject: 'Test',
template: 'email',
context: {
name: 'Name'
}
}
transporter.sendMail(mail);
You can send a multipart html and text email by setting the text_template
option on a mail message.
const mail = {
from: 'from@domain.com',
to: 'to@domain.com',
subject: 'Test',
template: 'email',
text_template: 'text',
context: {
name: 'Name'
}
}
Plugin Options
The plugin expects the following options:
- viewEngine (required) either the express-handlebars view engine instance or options for the view engine
- viewPath (required) provides the path to the directory where your views are
- extName the extension of the views to use (defaults to
.handlebars
)
Mail options
Set the template and values properties on the mail object before calling sendMail
- template the name of the template file to use
- context this will be passed to the view engine as the context as well as view engine options see here
License
MIT