Skip to content

coding-in-the-wild/just-login-emailer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 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: '[email protected]',
	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

About

Sends emails to folks who want to log in!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published