0.1.2 • Published 6 years ago

@anxolin/mail v0.1.2

Weekly downloads
-
License
ISC
Repository
-
Last release
6 years ago

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:

ParameterRequiredDescription
userYesUser for the mail authentication
passwordYesPassword for the mail authentication
hostYesMail server host
portNo. Default 587Port
secureNo. Default falseSecure
requireTLSNo. Dedault trueRequire 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