0

我在我的 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'
                })
        });
        }
    });
}

4

0 回答 0