首页 > 解决方案 > 为什么我的节点邮件程序代码没有执行?

问题描述

我正在尝试从使用 react 构建的本地托管网站发送电子邮件。当用户单击表单上的购买按钮时,它会正确执行一些代码,但完全跳过节点邮件程序代码而不会引发任何错误。我已经让节点邮件程序在其自己的 .js 文件中成功发送电子邮件并直接从命令终端调用。我上周刚开始学习 React 和 node,所以我想这个问题来自对我应该如何实现 node mailer 的误解。任何帮助表示赞赏,谢谢。

axios.post('http://localhost:5000/payment', user)

            .then(function (response) {
                // handle success
                setSuccess(true);
                console.log("before before");
                setPopup("Your ticket has been purchased. You may pick up your ticket at the will-call desk.");
                console.log("before");
                console.log("mailtime");


                let transporter = nodemailer.createTransport({
                  service: 'gmail',
                  auth: {
                    user: 'xxxxx@gmail.com',
                    pass: 'xxxx'
                  },
                });

                var mailOptions = {
                  from: 'tonycalzonecinemas@gmail.com',
                  to: 'myemail@gmail.com',
                  subject: 'Your ticket confirmation',
                  body: 'hello'
                };

                transporter.sendMail(mailOptions, function(error, info){
                    console.log('sending');
                    if (error) {
                      console.log(error);
                    } else {
                      console.log('Email sent: ' + info.response);
                    }
                  });

                console.log("confirmed");
            })

            .catch(function (error) {
                // handle error
                setSuccess(false);
                setPopup("Information is invalid. Please try again")
            })

            .finally(function () {
                console.log("always");
                // always executed
            });

        event.preventDefault() //stops browser clearing form
    }

标签: node.jsreactjsnodemailer

解决方案


推荐阅读