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:
from
string, e.g.'[email protected]'
, defaults tooptions.transport.auth.user
if it existssubject
string, e.g.'Log in to this site'
, defaults to'Login'
- See full list of mail options. (
to
andhtml
properties 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