1.1.1 • Published 9 years ago

upnode-cluster-smtp v1.1.1

Weekly downloads
7
License
ISC
Repository
github
Last release
9 years ago

Upnode cluster smtp extension

Plugin for upnode-cluster, adds methods for handling distributed email messaging

Install

npm install upnode-cluster upnode-cluster-smtp -S

Usage

var Node = require('upnode-cluster');
var SMTPResources = require('upnode-cluster-smtp');
var resources = {};

SMTPResources.init(resources, {
    gmail_oauth_appid: {
        clientId: '',
        clientSercret: ''
    }
}, function prepareEmail(rawNodemailerOpts) {
    // will be preprocessed on the node locally
});

var node = new Node({
    // ...
    resources: resources
});

// then you can use it

var opts = {
    provider: 'gmail',
    user: 'support@ark.com',
    type: 'oauth',
    credentialsResourceName: 'gmail_oauth_appid',
    credentials: {
        refreshToken: '<refresh token>',
        accessToken: '<access token>'
    }
};

var self = this;
var nodeId = this.node.server.id;
node.acquireResource('email@example.com', 'SMTP', opts).then(function (resourceHolderId) {
    var nodemailerOpts = {}; // whatever nodemailer accepts
    return self.callResource(resourceHolderId, 'email@example.com', 'SMTP', { email: nodemailerOpts, options: opts });
}).nodeify(function (err, response) {
    // either that or promises
});