5.0.0 • Published 23 days ago

@studiowebux/mailer v5.0.0

Weekly downloads
11
License
SEE LICENSE IN li...
Repository
github
Last release
23 days ago

Introduction

This module is a wrapper to send emails, it uses nodemailer. This is a SMTP Implementation.

Installation

npm install --save @studiowebux/mailer

NPM

Usage

Configuration

Transport configuration

Official documentation : https://nodemailer.com/smtp/

const opts = {
  isEnabled: true,
  host: '127.0.0.1',
  port: 2525,
  secure: false,
  auth: {
    user: '',
    pass: '',
  },
  pool: false,
  tls: {
    // do not fail on invalid certs
    rejectUnauthorized: false,
  },
};

The isEnabled parameter allows to deactivate the mailer service, that way it doesn't send all emails while doing tests.

Email data object

Official documentation : https://nodemailer.com/message/

// NOTE : bcc field is not detected by the mailparser and/or the smtp-server
const data = {
  from: 'test@from.local',
  to: ['test1@to.local', 'test2@to.local'],
  cc: ['test3@cc.local', 'test5@cc.local', 'test6@cc.local'],
  bcc: ['test4@bcc.local'],
  subject: 'Testing the webux mailer',
  html: '<p>Hello World !</p>',
  text: 'Hello World !',
};

Functions

constructor(opts, log = console)

Initializes the transporter and the logger function

Verify(): Promise\<String>

Verifies the transporter configuration and authentication

webuxMailer
  .Verify()
  .then((info) => {
    console.log(info);
  })
  .catch((e) => {
    console.error(e);
  });

Sendmail(data): Promise\<Object>

Sends an email if the mailer is enabled

const data = {
  from: 'test@from.local',
  to: ['test1@to.local', 'test2@to.local'],
  subject: 'Testing the webux mailer',
  html: '<p>Hello World !</p>',
  text: 'Hello World !',
};

webuxMailer
  .Sendmail(data)
  .then((info) => {
    console.log(info);
  })
  .catch((e) => {
    console.error(e);
  });

Quick start

For testing only, Check the examples/ directory for complete code.

example.js

const WebuxMailer = require('@studiowebux/mailer');

const opts = {
  isEnabled: true,
  host: process.env.HOST || '127.0.0.1',
  port: 2525,
  secure: false,
  auth: {
    user: process.env.USER || '',
    pass: process.env.PASSWORD || '',
  },
};

const webuxMailer = new WebuxMailer(opts, console);

const data = {
  from: 'test@from.local',
  to: ['test1@to.local', 'test2@to.local'],
  subject: 'Testing the webux mailer',
  html: '<p>Hello World !</p>',
  text: 'Hello World !',
};

webuxMailer.Sendmail(data).then((info) => {
  console.log(info);
});

Videos and other resources

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

SEE LICENSE IN license.txt

5.0.0

23 days ago

4.25.0

8 months ago

4.23.0

1 year ago

4.24.1

1 year ago

4.24.2

1 year ago

4.24.3

1 year ago

4.22.3

1 year ago

4.22.0

1 year ago

4.22.1

1 year ago

4.22.2

1 year ago

4.21.1

1 year ago

4.21.2

1 year ago

4.21.0

1 year ago

4.20.4

2 years ago

4.20.0

2 years ago

5.0.1

3 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.2.0

4 years ago

1.1.1

4 years ago

1.2.1

4 years ago

1.1.2

4 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago