'use strict' const nodemailer = require('nodemailer') const env = require('./env/env.js') const debug = require('debug')('tracman-mail') let transporter = nodemailer.createTransport({ host: env.mailserver, port: env.mailport, secure: false, requireTLS: true, auth: env.mailauth // logger: true, // debug: true }) module.exports = { verify: () => { debug(`Verifying SMTP connection...`) return new Promise( async (resolve, reject) => { try { if (await transporter.verify()) { console.log(` Nodemailer connected to ${env.mailserver}:${env.mailport} as ${env.mailauth.user}`) resolve() } else reject( new Error( `Nodemailer failed to connect to SMTP server at smtp:/\/${env.mailauth.user}:${env.mailauth.pass}@${env.mailserver}:${env.mailport}` ) ) } catch (err) { reject(err) } }) }, send: transporter.sendMail.bind(transporter), text: (text) => { return `Tracman\n\n${text}\n\nDo not reply to this email\nFor information about why you received this email, see the privacy policy at ${env.url}/privacyy#email` }, html: (text)=>{ return `

+Tracman

${text}

Do not reply to this email. For information about why you recieved this email, see our privacy policy.

` }, noReply: '"Tracman" ', to: (user) => { return `"${user.name}" <${user.email}>` } }