upnode-cluster-smtp

1.1.1 • Public • Published

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
});
 

Package Sidebar

Install

npm i upnode-cluster-smtp

Weekly Downloads

5

Version

1.1.1

License

ISC

Last publish

Collaborators

  • avvs