Encapsulates raw AMQP methods into a convenience wrapper.
npm i ms-mailer-client -S
const Mailer = require('ms-mailer-client');
const mailer = new Mailer(amqpTransport, {
prefix: 'mailer',
routes: {
adhoc: 'adhoc',
predefined: 'predefined'
}
});
// use predefined email
const promisePredefined = mailer.send('[email protected]', {
// email body with nodemailer
});
// use adhoc account
const promiseAdhoc = mailer.send({
// nodemailer smtp data
service: 'gmail',
auth: {
}
}, {
// nodemailer email body
});
const Mailer = require('ms-mailer-client');
const mailer = new Mailer(transport, { /* config */ });
const promise = mailer.send('[email protected]', {
// nodemailer email body
from: '[email protected]',
to: '[email protected]',
subject: 'subj',
text: 'some text',
html: '<p>html version of some text</p>',
});
const Mailer = require('ms-mailer-client');
const mailer = new Mailer(transport, { /* config */ });
// can be used with adhoc account setup aswell
const promise = mailer.sendTemplate(
'[email protected]',
'reset', // template name
{
nodemailer: {
from: '[email protected]',
to: '[email protected]',
subject: 'subj',
},
ctx: {
// template rendering context
link: 'activation_link',
name: 'John Doe',
},
}
);
Resulted promise can be fulfilled with rejection when the requested template name does not exist.