From d1cd4f82482729dea5eaa7ab50a5f50994aa983c Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Thu, 4 Feb 2021 21:02:31 +0000 Subject: [PATCH] Found an uncaught error --- server/accounts/signup.js | 44 +++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/server/accounts/signup.js b/server/accounts/signup.js index f370676..7bac31b 100644 --- a/server/accounts/signup.js +++ b/server/accounts/signup.js @@ -111,24 +111,36 @@ const sendValidationEmail = async (email, username, token) => { const addr = `${process.env.WEB_PROTOCOL}://${process.env.WEB_ADDRESS}/api/accounts/validation?username=${username}&token=${token}`; const msg = `Hello! Please visit the following address to validate your account: ${addr}`; + let transporter, info; + //what exactly is a transport? - let transporter = nodemailer.createTransport({ - host: process.env.MAIL_SMTP, - port: 465, - secure: true, - auth: { - user: process.env.MAIL_USERNAME, - pass: process.env.MAIL_PASSWORD - }, - }); - + try { + transporter = nodemailer.createTransport({ + host: process.env.MAIL_SMTP, + port: 465, + secure: true, + auth: { + user: process.env.MAIL_USERNAME, + pass: process.env.MAIL_PASSWORD + }, + }); + } + catch(e) { + return `failed to create transport: ${e}`; + } + // send mail with defined transport object - let info = await transporter.sendMail({ - from: `signup@${process.env.WEB_ADDRESS}`, //WARNING: google overwrites this - to: email, - subject: 'Email Validation', - text: msg - }); + try { + info = await transporter.sendMail({ + from: `signup@${process.env.WEB_ADDRESS}`, //WARNING: google overwrites this + to: email, + subject: 'Email Validation', + text: msg + }); + } + catch(e) { + return `failed to send mail ${e}`; + } if (info.accepted[0] != email) { return 'validation email failed';