diff --git a/.gitignore b/.gitignore index 5a42acb67..c76651868 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ dist/coral-admin/bundle.js tests/e2e/reports .DS_Store *.iml +*.swp dump.rdb .env gaba.cfg diff --git a/services/mailer.js b/services/mailer.js index 4da8024ca..b7d621954 100644 --- a/services/mailer.js +++ b/services/mailer.js @@ -1,10 +1,36 @@ const nodemailer = require('nodemailer'); -if (!process.env.TALK_SMTP_CONNECTION_URL) { - console.error('TALK_SMTP_CONNECTION_URL should be defined if you would like to send password reset emails from Talk'); +const smtpRequiredProps = [ + 'TALK_SMTP_USERNAME', + 'TALK_SMTP_PASSWORD', + 'TALK_SMTP_PROVIDER' +]; + +smtpRequiredProps.forEach(prop => { + if (!process.env[prop]) { + console.error(`process.env.${prop} should be defined if you would like to send password reset emails from Talk`); + } +}); + +const options = { + // list of providers here: + // https://github.com/nodemailer/nodemailer-wellknown#supported-services + service: process.env.TALK_SMTP_PROVIDER, + auth: { + user: process.env.TALK_SMTP_USERNAME, + pass: process.env.TALK_SMTP_PASSWORD + } +}; + +if (process.env.TALK_SMTP_PORT) { + options.port = process.env.TALK_SMTP_PORT; } -const defaultTransporter = nodemailer.createTransport(process.env.TALK_SMTP_CONNECTION_URL); +if (process.env.TALK_SMTP_HOST) { + options.host = process.env.TALK_SMTP_HOST; +} + +const defaultTransporter = nodemailer.createTransport(options); const mailer = {