【问题标题】:Nodemailer error: verification email doesn't worksNodemailer 错误:验证电子邮件不起作用
【发布时间】:2021-10-15 22:43:31
【问题描述】:

我正在编写此代码来注册用户。 我使用 Nodemailer 发送验证电子邮件以激活帐户。 发布请求运行良好,但我没有收到验证电子邮件,这是我的代码:

const transporter = nodemailer.createTransport({
    service: "Gmail",
    auth: {
        user: process.env.EMAIL_USERNAME,
        pass: process.env.EMAIL_PASSWORD,
    },
});

exports.signup = async(req, res) => {
    const { email } = req.body
       
    if (!email) {
        return res.status(422).send({ message: "Missing email." })
    }
    try {
       
        const existingUser = await User.findOne({ email }).exec();
        if (existingUser) {
            return res.status(409).send({
                message: "Email is already in use."
            });
        }
      
        const user = await new User({
            _id: new mongoose.Types.ObjectId,
            email: email
        }).save();
        
        const verificationToken = user.generateVerificationToken();
      
        const url = `http://localhost:5000/api/verify/${verificationToken}`
        transporter.sendMail({
            to: email,
            subject: 'Verify Account',
            html: `Click <a href = '${url}'>here</a> to confirm your email.`
        })
        return res.status(201).send({
            message: `Sent a verification email to ${email}`
        });
    } catch (err) {
        return res.status(500).send(err);
    }
}

当我发送请求时,向我展示这样的内容

【问题讨论】:

    标签: node.js nodemailer


    【解决方案1】:

    转到 Google 帐户,然后转到 SecurityLess secure app access,然后设置为 ON。重新启动您的应用程序,现在应该启动并运行;-) 请注意 - 在您的 .env 文件中,输入您的凭据,不带任何 quotes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-27
      • 2012-08-19
      • 2019-01-01
      • 2015-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多