首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React和Nodemailer

React和Nodemailer
EN

Stack Overflow用户
提问于 2020-04-01 03:22:21
回答 1查看 288关注 0票数 1

我在Windows机器上运行VSCode,Nodejs,Nodemailer和Reactjs,但是我不能让Nodemailer发送电子邮件。根据网站上的说明,它应该可以工作。最后,我执行了以下操作:我创建了两个空文件夹,并在其中运行node init,安装了Nodemailer,并复制了电子邮件发送代码。在另一个文件夹中,我还运行了create-react-app。然后我对文件进行了足够的编辑,使发送代码能够运行。在第一个文件夹中,它可以正常工作,但在包含React的文件夹中,它不会执行任何操作。甚至不会执行通常的if(错误)/else(成功)语句,它们只是跳过。但是,在执行transporter.sendMail (或.verify)部分之前和之后的代码...有人知道为什么会发生这种情况吗?或者知道如何修复它?

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

代码语言:javascript
复制
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;

时间

EN

回答 1

Stack Overflow用户

发布于 2020-04-01 14:31:19

Gmail有垃圾邮件过滤器来防止垃圾邮件,所以最有可能的是,如果没有适当的配置,你可能会在某些时候让它通过,而不是大多数时间。

在你的客户端应用中发送电子邮件也不是一个好主意,比如react。因为每个人都可以访问你的电子邮件和密码来做令人讨厌的事情,这真不是一个好主意。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60958297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档