mailster
v0.0.3
Published
Advanced mailer for NodeJS.
Downloads
14
Maintainers
Readme
mailster
Advanced mailer for NodeJS, built on top of nodemailer.
With mailster you can send emails using multiple nodemailer
transports. You can use all nodemailer
features and plugins but in a nice structured way.
Installation
Install the npm package.
npm install mailster --save
Configuration
Mail transports should be defined in a separated file. The module will try to load config/mailers.js
file by default. We can change the default behavior on module initialization. The best place to configure the module is the application's main file.
// index.js
var _ = require('mailster').load({
// configuration file path
configPath: 'my/config/path.js',
// custom logger (set to `false` by default)
logger: console.log
});
This will populate _.transports
attribute with transports defined in the
configuration file. The configuration file should look something like the
example bellow.
// config/mailers.js
module.exports = {
default: {
'simple': {
service: 'Gmail',
auth: {
user: '[email protected]',
pass: 'userpass'
}
},
'advanced': require('nodemailer-smtp-pool')({
service: 'Gmail',
auth: {
user: '[email protected]',
pass: 'userpass'
},
maxConnections: 5,
maxMessages: 10,
debug: true
})
},
production: {}
};
Usage
When configured, you send an email by calling the send
method on one of
the available transports.
var _ = require('mailster');
_.transports.default.send({
from: 'Tester ✔ <[email protected]>',
to: '[email protected]',
subject: 'Hello ✔',
text: 'Hello world ✔',
html: '<div>Hello world ✔</div>'
});