我在我的 react 项目中使用 nodemailer 和 netlify 来添加一个联系表单,从而使网站的访问者可以向网站所有者的电子邮件地址发送消息。这在本地运行时效果很好,但是当我将其部署到生产环境时出现错误 405 - 不允许。我不知道为什么会这样。
以下是相关代码,但如果需要,我可以添加其他部分。这一切都在本地完美运行的事实表明下面的代码很好,但如果有人能告诉我出了什么问题,我将不胜感激。我正在使用 Outlook,似乎找不到任何会限制这一点的设置。
出于显而易见的原因,我删除了用户身份验证详细信息。
onst nodemailer = require('nodemailer');
exports.handler = function(event, context, callback) {
let data = JSON.parse(event.body)
let transporter = nodemailer.createTransport({
host: "smtp-mail.outlook.com",
secureConnection: false,
port: 587,
tls: {
//ciphers:'SSLv3',
rejectUnauthorized: false
},
auth:{
user: "*********",
pass: "******"
}
});
transporter.sendMail({
from: "*********",
to: "*********",
subject: `Sending with React, Nodemailer and Netlify`,
html: `
<h3>Email from ${data.name} ${data.email}<h3>
<p>${data.message}<p>
`
}, function(error, info) {
if (error) {
callback(error, info);
} else {
callback(null, {
statusCode: 200,
body: JSON.stringify({
'result': 'success'
})
});
}
});
}