node-mandrill-wrapper
v1.0.0
Published
Mandrill API
Downloads
24
Readme
node-mandrill
A simple node.js wrapper for MailChimp's Mandrill API
Documentation
Usage
Constructor options
MANDRILL_API_KEY
{String} api key value (can also be specified with environment variableMANDRILL_API_KEY
)DEFAULT_FROM_EMAIL
{String} default from email (optional)DEFAULT_FROM_NAME
{String} default from name (optional)DEFAULT_TEMPLATE_OPTIONS
{Object} default template options (optional)
Methods
instance.send(options)
Return a fulfilled promise with mandrill response. See Below for options
schema
instance.send(templateName, options)
Return a fulfilled promise with mandrill response. See Below for options
schema
Options Schema
to
{String/Array} email recipient or array of emails recipientscc
{String/Array} email carbon copy or array of emails carbon copies (optional)bcc
{String/Array} email blind carbon copy or array of emails blind carbon copies (optional)subject
{String} email subject (optional)html
{String} email HTML code (optional) (can be use only forsend
)text
{String} email text (optional) (can be use only forsend
)global_merge_vars
{Object} global merge vars, (optional) (see Mandrill documentation for more informations on it)attachments
{Array} array of attachments files (optional)
Examples
const Mandrill = require('node-mandrill');
const mailer = new Mandrill({
MANDRILL_API_KEY: 'MY_MANDRILL_API_KEY',
DEFAULT_FROM_EMAIL: '[email protected]',
DEFAULT_FROM_NAME: 'no-reply',
DEFAULT_TEMPLATE_OPTIONS: {
global_merge_vars: [
{'name': 'COMPANY', 'content': 'My Company'},
],
},
});
mailer.send({
to: '[email protected]',
cc: '[email protected]', // optionnal
bcc: ['[email protected]', '[email protected]'], // optionnal
subject: 'Reset Password Request', // optionnal
html: '<html>Test</html>', // html or text required
text: 'Test', // html or text required
}); // => return Promise
mailer.sendTemplate('PASSWORD_RESET_TEMPLATE', {
to: '[email protected]',
cc: '[email protected]', // optionnal
bcc: ['[email protected]', '[email protected]'], // optionnal
subject: 'Reset Password Request', // optionnal
html: '<html>Test</html>', // optionnal
text: 'Test', // optionnal
global_merge_vars: [
{'name': 'PASSWORD_RESET_LINK', 'content': 'http://google.com'},
],
}); // => return Promise
Send attachments
const Mandrill = require('node-mandrill');
const fs = require('fs');
const mailer = new Mandrill(); // using MANDRILL_API_KEY defined in environment variable
mailer.send({
to: ['[email protected]', '[email protected]']
text: 'A file',
attachments: [{
type: 'application/pdf',
name: 'Doc Name',
content: new Buffer(fs.readFileSync('myDoc.pdf')).toString('base64'),
}],
}); // => return Promise
TODO
- unit test
Contributing
This project is a work in progress and subject to API changes, please feel free to contribute