A Mandrill transport for Nodemailer.
'use strict';
var nodemailer = require('nodemailer');
var mandrillTransport = require('nodemailer-mandrill-transport');
var transport = nodemailer.createTransport(mandrillTransport({
auth: {
apiKey: 'key'
}
}));
transport.sendMail({
from: 'sender@example.com',
to: 'user@example.com',
subject: 'Hello',
html: '<p>How are you?</p>'
}, function(err, info) {
if (err) {
console.error(err);
} else {
console.log(info);
}
});
It is possible to use any Messages Send Mandrill API option by passing it into
the mandrillOptions
option. These will be deeply merged over the API call this
transport builds for you. For example, this transport enables the async
option
by default. To disable this,
transport.sendMail({
mandrillOptions: {
async: false
}
}, /* ... */);
To send images as attachments:
transport.sendMail({
mandrillOptions: {
images: [
'type': 'image/png',
'name': 'IMAGECID',
'content': 'ZXhhbXBsZSBmaWxl',
],
}
}, /* ... */);
name: image cid:
Reference your attached image in your HTML:
<img src="IMAGECID">
Make sure to use unique cids for your images!
content: a base64 representation of your image.
var fs = require('fs');
var imgBuff = fs.readFileSync('path/to/file');
imgBuff.toString('base64');
To send email using templates stored on Mandrill:
transport.sendMail({
mandrillOptions: {
template_name: 'MANDRILL_TEMPLATE_SLUG'
}
}, /* ... */);