如何解决Node.JS Express ERR_HTTP_HEADERS_SENT
我有一个快速服务器,我在其中使用 amazon SES 向用户发送电子邮件,告知他们的帐户已获批准。当用户注册帐户(正在查找)时,我还使用 SES 发送注册电子邮件。当我单击前端的按钮以“批准”该帐户时,它应该会向请求者发送一封电子邮件,说明他们的帐户已获批准并且他们可以登录。但是,当我点击按钮时,我得到一个
ERR_HTTP_HEADERS_SENT': 发送到服务器后无法设置标头 客户
这是我的服务器代码:
exports.approvedPendingUser = (req,res) => {
const { id,email,firstName,lastName } = req.body;
User.updateOne(
{ _id: id },{
$set: { accountApproved: true }
}
).exec((err,user) => {
if (!user) {
return res.status(404).json({
error: 'There is no user'
});
}
return res.json(user);
});
const params = approveEmailParams(req,res);
const sendEmailOnApproval = ses.sendEmail(params).promise();
sendEmailOnApproval
.then(data => {
console.log('Email has been submitted to SES',data);
return res.json({
message: 'Email submitted to SES'
});
})
.catch(error => {
console.log('Ses email has not been sent',error);
return res.json({
error: 'Failed to send email'
});
});
};
和
approveEmailParams
引用
exports.approveEmailParams = (email,req,res) => {
return {
Source: process.env.EMAIL_FROM,Destination: {
ToAddresses: [email]
},ReplyToAddresses: [],Message: {
Body: {
Html: {
Charset: 'UTF-8',Data: `
<html>
<h4>Congratulations,</h4>
<p>Your MIKE account has been approved! Please use the following link to login:</P>
<p>${process.env.LOGIN_URL}</p>
<p>Thank you,<br /> SEARCH High-Tech Crime Training Services</p>
<img src='/images/search_logo-1.jpg' alt='search logo' width='179' height='39'></img>
</html>
`
}
},Subject: {
Charset: 'UTF-8',Data: 'Your MIKE Account Has Been Approved!'
}
}
};
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。