nodejs实现发送验证码到qq邮箱(附有源码)
来源:互联网 发布:windows手机壁纸 编辑:程序博客网 时间:2024/05/22 08:00
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("服务器开启成功。。。");
}
})
- nodejs实现发送验证码到qq邮箱(附有源码)
- QQ邮箱发送验证
- java 代码实现163邮箱发送邮件到QQ邮箱
- 忘记密码发送验证码到邮箱
- php 发送验证码到邮箱
- JAVA实现发送邮箱验证码
- Java 发送邮件 邮箱验证 (qq.com为例)
- java实现邮箱验证QQ邮箱验证和Foxmail验证
- javamail 实现邮件发送(基于qq邮箱)
- C#发送邮件(Gmail到qq邮箱和163邮箱)
- VBS发送邮件(163邮箱到QQ邮箱或Gmail)
- C#发送邮件(Gmail到qq邮箱和163邮箱)
- 发送邮件到qq邮箱、126邮箱后丢失样式
- nodejs使用loopback框架通过datasources配置qq邮箱验证
- JAVA实现qq邮箱发送功能
- java实现发送qq邮箱信息
- php邮箱发送验证码
- 另一种发送邮箱的方法和实现验证码
- Java算法之“分解质因数”
- LeetCode 210. Course Schedule II 题解
- 第一个Servlet程序 HelloServlet
- POJ 3757 Simple Distributed storage system 01分数规划
- 博客网站页面的实现(html)
- nodejs实现发送验证码到qq邮箱(附有源码)
- 两个for循环的优缺点
- 【LeetCode】70. Climbing Stairs
- hdu 5700 区间交(优先队列)
- java实现二叉树的创建及5种遍历
- Servlet与表单
- 【SpringBoot】SpringCloud Config Server实践
- 《Android开发艺术探索第八章读书笔记》-Window和WindowManager
- VMware安装Ubuntu教程,Linux下搭建Android开发环境