如何使用 node js mailer

我想通过 Gmail 发送一次性密码,并且我想设置超时,在某个时间此链接或 pin 将过期。我试过了,它正在工作,但我无法理解设置时间和一次性密码的 npm 包安装是我的节点 js 代码。此代码有效,但我想将其用作 OTP 发件人。

    const express = require("express");
    const ejs = require("ejs");
    const nodemailer = require("nodemailer");
    
    const app = express();
    
    // app.use("/static",(__dirname,"pubilc"));
    app.set("view engine","ejs");
    // I am using it for otp 
    var randomNumber = Math.floor(Math.random() * 10000);
    // here is link for varify email
    var link = "http://localhost:3000/varify"
    console.log(randomNumber)
    var mail = "hi node ja testing"+" "+ randomNumber +""+"thanks you also link "+ link+"";
    
    var transporter = nodemailer.createTransport({
        service: 'gmail',auth: {
          user: 'example1@gmail.com',pass: 'pass12345'
        }
      });
    app.use(express.urlencoded({extended:true}));
    
    app.get("/",(req,res)=>{
        res.render('home')
    })
//mail sender route
    app.post("/email",res)=>{
        const email = req.body.email
       
        console.log(email)
        var mailOptions = {
            from: 'noreply.nodejstesting@gmail.com',to: email,subject: 'Sending Email using Node.js',text: mail
          };
          
          transporter.sendMail(mailOptions,function(error,info){
            if (error) {
              console.log(error);
            } else {
                
                res.render("header")
              console.log('Email sent: ' + info.response);
            }
          })
          
          app.get("/header",res)=>{
              res.render('header')
          })
    
    })
/// pin post route
    app.post("/sing",res)=>{
        const pin = req.body.pin
        console.log(pin)
        if (randomNumber == pin ){
            res.send("You have log in secc")
        }else{
            res.send("err")
        }
    })
// link varify route
      app.get('/varify',res)=>{
        var code = req.status;
         
          if(code == 200){
              res.send('err')
          }else{
              res.send("log sec")
          }
    
      })
      app.post('/varify',res)=>{
    
        var code = link.status();
    
        if(code == 200){
            res.send('err')
        }else{
            res.send("log sec")
        }
    
      })
      
    app.listen(3000,res)=>{
        console.log("you are running a posrt 3000")
    })
chc740903 回答:如何使用 node js mailer

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/5351.html

大家都在问