diff --git a/browserid/lib/email.js b/browserid/lib/email.js index 9e117c5b5e0918257b390e5596ee742a5085ed3b..2d8bcde168a39da31eac08a666374c1172bb857e 100644 --- a/browserid/lib/email.js +++ b/browserid/lib/email.js @@ -42,6 +42,20 @@ mustache = require('mustache'), config = require('../../libs/configuration.js'), logger = require('../../libs/logging.js').logger; +/* if smtp parameters are configured, use them */ +var smtp_params = config.get('smtp'); +console.log("SMTP", smtp_params); +if (smtp_params && smtp_params.host) { + emailer.SMTP = { host: smtp_params.host }; + logger.info("delivering email via SMTP host: " + emailer.SMTP.host); + if (smtp_params.user) { + logger.info("authenticating to email host as" + emailer.SMTP.user); + emailer.SMTP.use_authentication = true; + emailer.SMTP.user = smtp_params.user; + emailer.SMTP.pass = smtp_params.pass; + } +} + const template = fs.readFileSync(path.join(__dirname, "prove_template.txt")).toString(); var interceptor = undefined; diff --git a/libs/configuration.js b/libs/configuration.js index 2b6f9b1ad51b7ab4a8b14e1d7d209800f951d291..ab43bbcb58f104b752c1abffca5215b5b0407ebe 100644 --- a/libs/configuration.js +++ b/libs/configuration.js @@ -109,6 +109,16 @@ g_configs.local = { certificate_validity_ms: g_configs.production.certificate_validity_ms }; +Object.keys(g_configs).forEach(function(config) { + if (!g_configs[config].smtp) { + g_configs[config].smtp = { + host: process.env['SMTP_HOST'], + user: process.env['SMTP_USER'], + pass: process.env['SMTP_PASS'] + }; + } +}); + // test environments are variations on local g_configs.test_json = JSON.parse(JSON.stringify(g_configs.local)); g_configs.test_json.database = { driver: "json", unit_test: true };