just-login-emailer
v2.0.1
Published
Sends emails to folks who want to log in!
Downloads
2
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:
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!'
}
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