HOF Emailer
An emailer service for HOF applications.
Installation
$ npm install hof-emailer --save
Usage
const Emailer = require('hof-emailer');
const emailer = new Emailer({
from: 'sender@example.com',
transport: 'smtp',
transportOptions: {
host: 'my.smtp.host',
port: 25
}
});
const to = 'recipient@example.com';
const body = 'This is the email body';
const subject = 'Important email!'
emailer.send(to, body, subject)
.then(() => {
console.log(`Email sent to ${to}!`);
});
Options
from
: : Address to send emails from. Required.transport
: : Select what mechanism to use to send emails. Defaults: 'smtp'.transportOptions
: : Set the options for the chosen transport, as defined below. Required.
layout
: : Optional path to use a custom layout for email content.
Transports
The following transport options are available:
smtp
nodemailer-smtp-transport
Options
host
: Address of the mailserver. Required.port
<String|Number>: Port of the mailserver. Required.ignoreTLS
: Defaults to false.secure
: Defaults to true.auth.user
: Mailserver authorisation username.auth.pass
: Mailserver authorisation password.
ses
nodemailer-ses-transport
Options
accessKeyId
: AWS accessKeyId. Required.secretAccessKey
: AWS accessKeyId. Required.sessionToken
region
. Defaults to 'eu-west-1'.httpOptions
rateLimit
maxConnections
debug
A development option to write the html content of the email to a file for inspection.
transport: 'debug'
debug options
dir
: The location to save html to. Default: ./.emails
. This directory will be created if it does not exist.open
: If set to true, will automatically open the created html file in a browser.
debug example
transport: 'debug'
transportOptions: {
dir: './emails',
open: true
}
stub
Disables sending email. No options are required.