问题描述
我想通过 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")
})
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)