2.0.1 • Published 9 years ago
just-login-emailer v2.0.1
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 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: 'sender@gmail.com',
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