当前位置: 首页 > 知识库问答 >
问题:

React 和 Nodemailer

苏坚成
2023-03-14

我在Windows机器中运行VSCode,Nodejs,Nodemailer和Reactjs,但我无法让Nodemailer发送电子邮件。根据网络中的说明,它应该可以正常工作。最后,我完成了以下操作:我在这两个文件夹中创建了两个空文件夹,我运行了node init,安装了Nodemailer,并复制了电子邮件发送代码。在另一个文件夹中,我还运行了create-react-app。然后,我编辑了足够多的文件,以使发送代码运行。在第一个文件夹中,它可以毫无问题地工作,但是在React的文件夹中,它不做任何事情。甚至通常的以下 if(error)/else(success) 语句也不会被执行,它们只是被跳过。但是,执行transporter.sendMail(或.verify)部分之前和之后的代码...有谁知道为什么会发生这种情况或如何解决它?

这是我在cra和非cra文件夹中运行的代码:

const nodemailer = require("nodemailer");

const SendEmail = message => {
    const transporter = nodemailer.createTransport({
        service: "Gmail",
        auth: {
            user: "from@gmail.com",
            pass: "xxxxxxxx"
        }
    });
    transporter.verify(function(error) {
        if (error) {
            console.log(error);
        } else {
            console.log("Server is ready to take our messages");
        }
    });
    const mailOptions = {
        from: "from@gmail.com",
        to: "to@gmail.com",
        subject: "Subject",
        text: message,
        html: "<b>Html</b>"
      };

    transporter.sendMail(mailOptions, (err, info) => {
        if (err) console.log(err);
        else console.log(info.response);
    });
};

module.exports = SendEmail;

提姆

共有1个答案

郭元明
2023-03-14

Gmail有垃圾邮件过滤器来防止垃圾邮件,所以最有可能的是,如果没有正确的配置,您可能会在某个时间通过,而不是大多数时间。

而且在您的客户端应用程序中发送您的电子邮件不是一个好主意,例如反应。由于每个人都可以访问您的电子邮件和密码来做令人讨厌的事情,这不是一个好主意。

最佳实践是请求您的节点服务器发送邮件。

除此之外,我注意到你用gmail来做这件事。有一些免费的邮件假冒stmp服务器,你可以做垃圾邮件没有邮件提供商标志你为垃圾邮件用户。比如mailtrap,如果你只是有兴趣测试一下,react能不能发送邮件,用mailTrap试试。我从来没有这样做过,但仍然比使用自己的电子邮件提供商,因为他们可能有过滤规则,可能是原因,你不能发送它。

 类似资料:
  • 我正在使用“React admin”创建一个管理界面(前端)。我正在使用spring boot作为我的REST API。我的React应用程序的url是:“http://localhost:3000”。我的spring boot API的url是:“http://localhost:8080”。 下面是CORS配置的spring boot代码,它在一个单独的类中,称为CORSCONFIG: 下面是

  • 问题内容: 我正在考虑将React Native用于新的Web应用程序。是否可以使用它同时发布iOS和Android应用程序? 我知道这是在路线图上,但是我不清楚这将是一个单独的开源项目(例如,React Android与React Native)还是一个(例如,React Native)。 问题答案: TLDR :很有可能。但这取决于您的用例。 您可以实现约 80〜99 +%的代码复用率 (取决

  • 我正在将react应用程序从webpack-dev-server过渡到nginx。 编辑: 我知道大多数设置都可以工作,因为当我在没有登录的情况下转到localhost:8080时,我也会得到登录页面。这不是通过重定向到localhost:8080/login,而是一些react代码。

  • 本文向大家介绍React Native和React有什么区别?相关面试题,主要包含被问及React Native和React有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 主要是底层 renders 层不同,React 使用的是 Visual DOM,React Native 替换成了native 组件。

  • 问题内容: 我正在用React构建Flask应用,但最终遇到了路由问题。 后端负责成为API,因此一些路由如下所示: 以及通往React的主要路线: 我在React应用程序中使用react-router,一切正常,react- router带我进入,并获得了呈现的视图,但是当我刷新页面时,Flask应用程序会处理此调用,并且会出错。 最好的解决方案是什么?我正在考虑重定向所有未调用的调用,这是不理

  • 本文向大家介绍angularJs和react区别?相关面试题,主要包含被问及angularJs和react区别?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: React对比Angular是思想上的转变,它也并不是一个库,是一种开发理念,组件化,分治的管理,数据与view的一体化。它只有一个中心,发出状态,渲染view,对于虚拟dom它并没有提高渲染页面的性能,它提供更多的是利用jsx便捷