mailer.ts 802 Bytes
Newer Older
Rosanny Sihombing's avatar
Rosanny Sihombing committed
1
2
3
const nodemailer = require('nodemailer')
const nodemailerNTLMAuth = require('nodemailer-ntlm-auth')

Rosanny Sihombing's avatar
Rosanny Sihombing committed
4
const env = process.env.NODE_ENV ?? 'testing'
Rosanny Sihombing's avatar
Rosanny Sihombing committed
5
6
const config = require('./config')[env]

Rosanny Sihombing's avatar
Rosanny Sihombing committed
7
const smtpTransporter = nodemailer.createTransport({
Rosanny Sihombing's avatar
Rosanny Sihombing committed
8
9
10
11
12
13
14
15
16
17
18
19
20
  host: config.mailer.host,
  secure: config.mailer.secureConnection,
  port: config.mailer.port,
  requireTLS: config.mailer.TLS,
  auth: {
    type: 'custom',
    method: 'NTLM',
    user: config.mailer.authUser,
    pass: config.mailer.authPass,
    options: {
      domain: 'ad'
    }
  },
Rosanny Sihombing's avatar
Rosanny Sihombing committed
21
  customAuth: {
Rosanny Sihombing's avatar
Rosanny Sihombing committed
22
23
    NTLM: nodemailerNTLMAuth
  }
Rosanny Sihombing's avatar
Rosanny Sihombing committed
24
})
Rosanny Sihombing's avatar
Rosanny Sihombing committed
25

Rosanny Sihombing's avatar
Rosanny Sihombing committed
26
27
28
29
30
31
32
const mailOptions: any = {
  to: '',
  cc: '',
  from: config.mailer.from,
  subject: '',
  text: '',
  html: ''
Rosanny Sihombing's avatar
Rosanny Sihombing committed
33
34
}

Rosanny Sihombing's avatar
Rosanny Sihombing committed
35
36
37
const mailer: any = {
  transporter: smtpTransporter,
  options: mailOptions
Rosanny Sihombing's avatar
Rosanny Sihombing committed
38
39
}

Rosanny Sihombing's avatar
Rosanny Sihombing committed
40
export { mailer }