我有节点应用,当用户注册 nodemailer 向用户发送验证电子邮件 >,这在本地工作得很好,但在将应用程序部署到 aws 后,当我尝试注册时出现以下错误,因此它不会发送验证邮件:
jquery-3.3.1.min.js:2 POST https://www.juliatrefas.net/signup-user 504 (GATEWAY_TIMEOUT)
为什么会发生这种情况以及如何解决?
我的服务器代码:
// ********************* SIGNUP *********************************************
app.post('/signup-user', upload.single('avatar'), (req, res) => {
let avatarImagePath;
let token;
let randomNumber;
try {
avatarImagePath = req.file.path.split("public").pop()
token = jwt.sign({
username: req.body.email,
}, "secret", {
expiresIn: 240
});
randomNumber = Math.floor(1000 + Math.random() * 9000);
} catch (e) {
log('e', 'app.post(/signup-user - e - 115 : ' + e)
return res.json({
status: "error"
})
}
user.createUser(req.body, randomNumber, avatarImagePath, (err, jResult) => {
if (err) {
return res.send(jResult)
}
mailer.sendEmail(req.body, token, (err, jResult) => {
if (err) {
return res.send(jResult)
}
console.log(jResult)
return res.send(jResult)
//smsService.sendSms(req.body, randomNumber, res)
})
})
})