2.0.1 • Published 9 years ago

just-login-emailer v2.0.1

Weekly downloads
7
License
VOL
Repository
github
Last release
9 years ago

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 to options.transport.auth.user if it exists
  • subject string, e.g. 'Log in to this site', defaults to 'Login'
  • See full list of mail options. (to and html 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.

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

License

VOL

2.0.1

9 years ago

2.0.0

9 years ago

1.1.1

9 years ago

1.1.0

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago