HTML内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用户注册</title>
<style>
body,*{
margin:0px auto;
padding:0px;
font-family:"微软雅黑";
}
fieldset{
width:50%;
}
label{
display:inline-block;
width:200px;
text-align:right;
}
ul{
list-style:none;
}
li{
line-height:30px;
}
</style>
<script src="js/jquery-1.12.4.js" type="text/javascript"></script>
<script src="js/email.js"></script>
</head>
<body>
<form action="/adduser" method="post">
邮箱:
<input type="text" name="eml" id="eml" size="40" onblur="check(this)"/>
验证码:
<input type="text" name="tel" id="elma"/>
<input type="button" id="getemails" value="获取验证码" onclick="getemail()"/>
</form>
</body>
</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:"1137211995@qq.com",//开启SMTP的邮箱,有用发送邮件
pass:"xifynvwbujdkigia"//授权码
}
});
app.post("/getlma",function(req,res){ //调用指定的邮箱给用户发送邮件
var code="";
while(code.length<5){
code+=Math.floor(Math.random()*10);
}
var mailOption={
from:"1137211995@qq.com",
to:req.body.eml,//收件人
subject:"XX注册校验码",//纯文本
html:"<h1>欢迎注册XX系统,您本次的注册验证码为:"+code+"</h1>"
};
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("服务器开启成功。。。");
}
})