我正在使用ReactJS为前端开发一个webapp并为后端表达。我将我的应用部署到azure。
为了测试我的请求是否正在通过,我编写了两个不同的API请求。
第一个很简单:
router.get('/test', (req, res) => {
res.send('test was a success');
});
然后在前端我有一个按钮,点击后发出请求,我得到了回复'测试是成功的'。这每次都有效。
第二个测试是:
router.post('/test-email', (req, res) => {
let current_template = 'reset';
readHTMLFile(__dirname + '/emails/' + current_template + '.html', function(err, html) {
let htmlSend;
let template = handlebars.compile(html);
let = replacements = {
name: req.body.name
};
htmlSend = template(replacements);
let mailOptions = {
from: 'email@email.com',
to: 'someone@email.com',
subject: 'Test Email',
html: htmlSend
};
transporter.sendMail(mailOptions)
.then(response => {
res.send(response);
})
.catch(console.error);
});
});
然后,当我部署应用程序时,我会调用这些测试中的每一个。第一个,就像我提到的那样,总是成功的。第二个应该发送一个非常简单的电子邮件失败的大部分时间都是错误" iisnode在处理请求时遇到错误。 HRESULT:0x6d HTTP状态:500 HTTP subStatus:1013"。奇怪的是,电子邮件每隔一段时间就会发送,但这种情况很少发生。大多数情况下,请求在发送错误的响应之前需要两分钟。
我应该注意到,在localhost开发中,两个测试都一直没有任何问题,只有在生产(部署到azure)时才会发生这种情况。
过去几天我一直在四处寻找,什么都没有。任何帮助或指示将不胜感激。