node-mandrill-wrapper

1.0.0 • Public • Published

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 variable MANDRILL_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 recipients
  • cc {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 for send)
  • text {String} email text (optional) (can be use only for send)
  • 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: 'no-reply@email.com',
  DEFAULT_FROM_NAME: 'no-reply',
  DEFAULT_TEMPLATE_OPTIONS: {
    global_merge_vars: [
      {'name': 'COMPANY', 'content': 'My Company'},
    ],
  },
});
 
mailer.send({
  to: 'hugo@email.com',
  cc: 'sam@email.com',                          // optionnal
  bcc: ['john@email.com', 'tracy@email.com'],   // 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: 'hugo@email.com',
  cc: 'sam@email.com',                              // optionnal
  bcc: ['john@email.com', 'tracy@email.com'],       // 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: ['hugo@email.com', 'sam@email.com']
  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

Readme

Keywords

Package Sidebar

Install

npm i node-mandrill-wrapper

Weekly Downloads

4

Version

1.0.0

License

MIT

Unpacked Size

10.7 kB

Total Files

6

Last publish

Collaborators

  • marchah