Sends emails to folks who want to log in!
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', '[email protected]')
}, 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: '[email protected]',
pass: 'whatever the password is'
}
}
justLoginEmailer(core, {
createHtmlEmail: createHtmlEmail,
transport: transportOpts
})var justLoginEmailer = require('just-login-emailer')A just-login-core object.
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>'
}A Nodemailer transport object. The following fields are suggested.
{
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
user: '[email protected]',
pass:'password123'
}
}An optional object with the following properties:
fromstring, e.g.'[email protected]', defaults tooptions.transport.auth.userif it existssubjectstring, e.g.'Log in to this site', defaults to'Login'- See full list of mail options. (
toandhtmlproperties are ignored.)
{
from: '[email protected]',
subject: 'Log in to example.com!'
}An emitter that sends an event on the status of an email.
emitter.emit('error', err)on an erroremitter.emit('data', info)if it was successful. See full specs of info object.
var emitter = JustLoginEmailer(core, options)
emitter.on('error', function (err) {
throw err
})
emitter.on('data', function (info) {
console.log(info.response)
})With npm do:
npm install just-login-emailer