@anxolin/mail

0.1.2 • Public • Published

node-mail

Basic mail sender

Implement a repository for easily sending mails. It uses nodemailer and all methods return promises.

Usage

First install dependencies:

yarn add @anxolin/mail --save # npm install @anxolin/mail --save

Then, use it:

const mailSender = require('@anxolin/mail')({
  user: 'your-user',
  password: 'your-password',
  host: 'your-password'
})

// Verify the connection
mailSender
  .verify()
  .then(success => console.log('Mail connection result: %s', success))
  .catch(console.error)

mailSender
  .sendMail({
    from: 'foo@example.com',
    to: 'baz@example.com',
    subject: 'Hi there ✔',
    text: 'How are you doing?',
    html: 'How are <b>you</b> doing?'
  })
  .then(mailInfo => console.log('Mail sent: %s', mailInfo.messageId))
  .catch(console.error)

Config

const mailSender = require('@anxolin/mail')(config)

Where config may contain:

Parameter Required Description
user Yes User for the mail authentication
password Yes Password for the mail authentication
host Yes Mail server host
port No. Default 587 Port
secure No. Default false Secure
requireTLS No. Dedault true Require TLS

Send a test mail

To test, execute:

yarn install

# Execute
MAIL_USER=foo@example.com \
MAIL_PASSWORD=your-pass-here \
HOST=mail.example.com \
FROM=foo@example.com \
TO=baz@example.com \
SUBJECT="Hi there ✔" \
TEXT="How are you doing?" \
HTML="How are <b>you</b> doing?" \
yarn send-mail

Create a .env file

A simpler approach to execute the mail sender is to create a .env file:

MAIL_USER=foo@example.com
MAIL_PASSWORD=your-pass-here
HOST=mail.example.com
FROM=foo@example.com
TO=baz@example.com
SUBJECT="Hi there ✔"
TEXT="How are you doing?"
HTML="How are <b>you</b> doing?"
yarn send-mail

Execute the tests

yarn test

Readme

Keywords

none

Package Sidebar

Install

npm i @anxolin/mail

Weekly Downloads

0

Version

0.1.2

License

ISC

Unpacked Size

111 kB

Total Files

9

Last publish

Collaborators

  • anxolin