node.js - Node.js 在尝试发送电子邮件时挂起
问题描述
我目前正在使用 nodemailer 发送自动电子邮件,最终将成为支持票。当我发送几封电子邮件时它很好,但是当我在前端坐了几分钟后尝试发送电子邮件时,服务器就会挂起。
var ticket = {
name: req.body.name,
email: req.body.email,
comment: req.body.comment
}
await SupportTicket.create(ticket)
.then((result) => {
console.log(result);
transporter.sendMail(mailOptions, function(err, info) {
if (err)
console.log(err)
else
{
console.log('Email sent');
res.status(200).json(result);
}
});
})
.catch((err) => {
console.log(err);
res.status(400).json(err);
return;
})
这就是我从前端发送票证数据的方式
const message = {
name: this.state.name,
email: this.state.email,
comment: this.state.comment,
};
await axios.post('/todos/support', message, {validateStatus: false})
.then((res) => {
console.log(res);
if (res.status == 200)
{
console.log("Message was sent from supprt form");
}
else if (res.status == 400)
{
console.log("Message failed to send from support form");
}
});
发生的情况是,当我尝试继续发送电子邮件时,我没有收到来自服务器的响应。我要做的是填写一份支持表格,提交几次,然后等待几分钟,然后再次提交一份支持表格。前几次会起作用,但是当我等待几分钟提交表单时,它会挂起。只有当我在命令提示符下按下一个键时,电子邮件才会发送。当我最终在命令提示符下按下一个键时,所有 SupportTicket.create console.logs 都会显示出来,并且会发送电子邮件。我试图弄清楚如何防止服务器挂起。如果有人知道导致 node.js 服务器冻结的原因,请告诉我。
解决方案
推荐阅读
- android - Android 订阅自动续订
- sql - 获取我的 Transact SQL 表的 json 列中数组的最后一个元素
- c# - 通过 Entity Framework Core 的投影使用嵌套属性时如何避免 NullReferenceException
- apache-spark-sql - 如何在 azure databricks 中重命名数据库?
- azure - 我无法触发 Azure Defender for IoT Hub 自定义安全警报
- google-cloud-platform - 为用户帐户创建帐户密钥
- reactjs - 刷新页面后 Redux store 设置为 null
- excel - WorksheetFunction.CountA 在同一个工作表上使用时返回不同的结果
- c++ - 我们可以使用 for-each 循环遍历传递给函数的数组吗?
- c# - 使用 AllowAnonymousFilter 时仍在使用 DefaultPolicy