HOF Emailer
An emailer service for HOF applications.
Installation
$ npm install hof-emailer --save
Usage
// first create an emailer instance
const Emailer = require('hof-emailer');
const emailer = new Emailer({
from: 'sender@example.com',
transport: 'smtp',
transportOptions: {
host: 'my.smtp.host',
port: 25
}
});
// then you can use your emailer to send emails
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
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
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.