Wondering what’s next for npm?Check out our public roadmap! »

just-login-emailer

2.0.1 • Public • Published

just-login-emailer

Sends emails to folks who want to log in!

Example

Usage with the Just Login Core

var justLoginEmailer = require('just-login-emailer')
var JustLoginCore = require('just-login-core')
var db = require('level')('./databases/core')
var core = JustLoginCore(db)
 
setTimeout(function () {
    core.beginAuthentication('session id', 'user@example.com')
}, 5000)
 
function createHtmlEmail(token) {
    return 'To login, <a href="http://example.com/login?token=' + token + '">click here</a>!'
}
 
var transportOpts = {
    host: 'smtp.gmail.com',
    port: 465,
    secure: true,
    auth: {
        user: 'sending_address@gmail.com',
        pass: 'whatever the password is'
    }
}
 
justLoginEmailer(core, {
    createHtmlEmail: createHtmlEmail,
    transport: transportOpts
})

Usage

var justLoginEmailer = require('just-login-emailer')

var emitter = justLoginEmailer(core, options)

core

A just-login-core object.

options.createHtmlEmail

A function that is passed a token and returns an HTML email message.

token string, e.g. 'b02ceecc-2c81-11e5-89e4-83f49df54746'

function createHtmlEmail(token) {
    return '<a href="http://example.com/login/' + token + '">Click to Login!</a>'
}

options.transport

A Nodemailer transport object. The following fields are suggested.

{
    host: 'smtp.gmail.com',
    port: 465,
    secure: true,
    auth: {
        user: 'sender@gmail.com',
        pass:'password123'
    }
}

options.mail (optional)

An optional object with the following properties:

  • from string, e.g. 'sender@gmail.com', defaults to options.transport.auth.user if it exists
  • subject string, e.g. 'Log in to this site', defaults to 'Login'
  • See full list of mail options. (to and html properties are ignored.)
{
    from: 'sender@gmail.com',
    subject: 'Log in to example.com!'
}

emitter

An emitter that sends an event on the status of an email.

var emitter = JustLoginEmailer(core, options)
 
emitter.on('error', function (err) {
    throw err
})
 
emitter.on('data', function (info) {
    console.log(info.response)
})

Install

With npm do:

npm install just-login-emailer

License

VOL

Keywords

Install

npm i just-login-emailer

DownloadsWeekly Downloads

9

Version

2.0.1

License

VOL

Last publish

Collaborators

  • avatar
  • avatar