2.0.1 • Published 11 years ago

just-login-emailer v2.0.1

Weekly downloads
7
License
VOL
Repository
github
Last release
11 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

11 years ago

2.0.0

11 years ago

1.1.1

11 years ago

1.1.0

11 years ago

1.0.2

12 years ago

1.0.1

12 years ago

1.0.0

12 years ago