just-login-emailer
v2.0.1
Published
Sends emails to folks who want to log in!
Downloads
17
Readme
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', '[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
})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: '[email protected]',
pass:'password123'
}
}options.mail (optional)
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!'
}emitter
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)
})Install
With npm do:
npm install just-login-emailer