nodejs实现发送验证码到qq邮箱(附有源码)

HTML内容




   
    用户注册
   
   
   


   


        邮箱:
       
        验证码:
       
       
   




Javascript内容

function check(obj){
    var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/g;//邮箱验证
    if(reg.test($(obj).val())){
        $(obj).css("border-color","green");
        return true;
    }else{
        $(obj).css("border-color","red");
        return false;
    }
}
function getemail(){
    $("#getemails").attr("disabled",true);
    if(check($("#eml"))){
        var eml= $.trim($("#eml").val());
        $.post("/getlma",{eml:eml},function(data){
            data= $.trim(data);
            if(data=="2"){
                $("#getemails").val("邮件发送成功,点击重新获取").attr("disabled",false);
            }else{
                $("#getemails").val("邮件发送失败,点击再次发送").attr("disabled",false);
            }
        },"text");
    }else{
        return;
    }
}


nodejs内容

var nodemailer=require("nodemailer");
var express=require("express");
var session=require("express-session");
var bodyparser=require("body-parser");
var app=express();


app.use(bodyparser.urlencoded({extend:false}));


app.use(session({
    secret: 'keyboard cat',
    resave: true,
    saveUninitialized: true,
    cookie: {secure:false,maxAge:1000*60*20}
}));


var transporter=nodemailer.createTransport({//邮件传输
    host:"smtp.qq.com", //qq smtp服务器地址
    secureConnection:false, //是否使用安全连接,对https协议的
    port:465, //qq邮件服务所占用的端口
    auth:{
        user:"[email protected]",//开启SMTP的邮箱,有用发送邮件
    pass:"xifynvwbujdkigia"//授权码
}
});


app.post("/getlma",function(req,res){ //调用指定的邮箱给用户发送邮件
        var code="";
        while(code.length<5){
            code+=Math.floor(Math.random()*10);
        }
        var mailOption={
            from:"[email protected]",
            to:req.body.eml,//收件人
            subject:"XX注册校验码",//纯文本
            html:"

欢迎注册XX系统,您本次的注册验证码为:"+code+"

"
        };


        transporter.sendMail(mailOption,function(error,info){
            if(error){
                res.send("1");
                return console.info(error);
            }else{
                req.session.yanzhengma=code;
                res.send("2");
                console.info("Message send"+code);
            }
        })

})


app.use(express.static(__dirname));


app.listen(8082,function(err){
    if(err){
        console.info(err);
    }else{
        console.info("服务器开启成功。。。");
    }
})

你可能感兴趣的:(node.js)