【问题标题】:links in nodemailer not workingnodemailer中的链接不起作用
【发布时间】:2018-02-21 05:22:09
【问题描述】:

我正在使用nodemailer向用户发送重置密码链接,nodemailer发送邮件但我在文本中设置的链接在浏览器中不起作用,它在重置后删除了路由,我不知道原因。并且打印出cannot get the route

var UserSchema = new mongoose.Schema({
    email: {type: String, unique: true},
    resetPasswordToken: String,
    resetpasswordExpires: Date
})
mongoose.model("User", UserSchema )

var mailOptions = {
                to: user.email,
                from: 'my email',
                subject: 'Password Reset',
                text: 'Please click on the following link to reset your 
                       password' + 'https://' + req.headers.host + '/reset/' + token + '\n\n' +  ' ignore if you didn't request',            

            };

这是我的链接获取路径

app.get("/reset/:token", function(req,res){
   User.findOne({ resetPasswordToken: req.params.token, resetPasswordExpires: { $gt: Date.now()}}, function(err, user){
       if(err){
           console.log(err);
           req.flash('error', 'Password reset token is invalid or has expired')
           return res.redirect('/forgot')
       } else {
           res.redirect('/reset' + req.params.token);
       }
   })
})

出现错误

cannot GET /resetf94f496k9lfg

相反,这就是它的本意。如果我在发送邮件时进入 mongo shell,resetPasswordtoken 匹配

/reset/f94f496k9lfg

我不知道在浏览器 url 中重置后删除路由的原因。任何帮助表示赞赏

【问题讨论】:

    标签: node.js mongodb express nodemailer


    【解决方案1】:

    应该是:

    router.get('/reset/:token', function(req, res) {
      User.findOne({ resetPasswordToken: req.params.token, resetPasswordExpires: { $gt: Date.now() } }, function(err, user) {
        if (!user) {
          req.flash('error', 'Password reset token is invalid or has expired.');
          return res.redirect('/forgot');
        }
        res.render('reset', {token: req.params.token});
      });
    });
    

    在路线中。您最初的错误是因为您在重定向中缺少“/”,但如果您修复了它,那么这会给您带来无限的重定向,这会导致您的应用崩溃。

    【讨论】:

    • 感谢事情正在解决,它现在重定向到重置密码页面。我只是将重定向更改为渲染 :) 编码@nax3t
    猜你喜欢
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 2023-04-03
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多