一、

这是前台需要的东西

<asp:TextBox ID="Textemail" runat="server" CssClass="noneinput" placeholder="请输入邮箱账号" onblur="email()"></asp:TextBox>
<asp:Button ID="Button2" runat="server" Text="获取验证码" CssClass="zcnext am-fr am-btn-default" OnClick="Button2_Click" />

<asp:HiddenField ID="hfTimer" runat="server" />//这个是存放时间
<asp:HiddenField ID="time" runat="server" />//这个是用以判断验证码过期

这是js代码部分

<script>
var interval = 1000;
function ShowCountDown() {
var date = $("#<%=hfTimer.ClientID %>").val();//这个是获取前面存放时间的隐藏控件的值
var now = new Date();


var endDate = new Date(date);
if (now < endDate) {
var leftTime = endDate.getTime() - now.getTime();
var leftsecond = parseInt(leftTime / 1000);
//ar day1=parseInt(leftsecond/(24*60*60*6));
var day1 = Math.floor(leftsecond / (60 * 60 * 24));
var hour = Math.floor((leftsecond - day1 * 24 * 60 * 60) / 3600);
var minute = Math.floor((leftsecond - day1 * 24 * 60 * 60 - hour * 3600) / 60);
var second = Math.floor(leftsecond - day1 * 24 * 60 * 60 - hour * 3600 - minute * 60);
//document.getElementById("TimerH").innerHTML = day1 * 24 + hour;
//document.getElementById("TimerM").innerHTML = minute;
document.getElementById("miao").innerHTML = second;
} else {
document.getElementById("miao").innerHTML = "";//当时间过期变成空
var ts = $("#<%=time.ClientID %>").val("Failure");//这个是用以判断验证码过期的隐藏控件的值

}



}
window.setInterval(function () { ShowCountDown(); }, interval);
</script>

这下面是后台代码

protected void Button2_Click(object sender, EventArgs e)
{
MailMessage msg = new MailMessage(); //实例化一个email类

string email = Textemail.Text.Trim();
if(email!="")
{
msg.To.Add(email);
msg.CC.Add("1395789551@qq.com");  //抄送人地址
msg.From = new MailAddress("1395789551@qq.com", "崔小强"); //发送人地址
msg.Subject = "验证码"; //邮件标题
msg.SubjectEncoding = Encoding.UTF8; // 字符格式


msg.Body =suiji(); //邮件内容 这里调的一个方法返回一个四位验证码
Session["yan"] = msg.Body;  //把邮件内容存到Session中
msg.BodyEncoding = Encoding.UTF8; //设置邮件内容的编码格式

SmtpClient client = new SmtpClient();  //用来传输简单邮件的smtp协议
client.Host = "smtp.qq.com"; //QQ的IP地址
client.Port = 587; //事务的端口
client.EnableSsl = true; //加密链接
client.Credentials = new NetworkCredential("1395789551@qq.com", "rrcntqllbhahjgcd");  //用于验证发件人的身份凭据
client.Send(msg); //将邮件发送到smtp服务器,传递

DateTime timed = System.DateTime.Now;
DateTime times = timed.AddMinutes(1);//给当前时间加上一分钟
hfTimer.Value = times.ToString("yyyy/MM/dd HH:mm:ss");//给前台的隐藏控件赋值
time.Value = "";//给用于验证验证码过期的控件赋空
}

}

C# QQ邮箱注册,以及数秒的更多相关文章

  1. Discuz常见小问题-如何设置QQ邮箱注册验证

    开启POP3/SMTP服务器,需要发送短信,然后点击我已发送,得到一个指定的密码   开启之后得到的授权码   开启IMAP/SMTP还需要发送一次短信,得到一个另外的授权码   然后在后台设置为下面 ...

  2. C# WinForm 使用SMTP协议发送QQ邮箱验证码

    文章来自:https://blog.csdn.net/IT_xiao_guang_guang/article/details/104336604 前言   在程序设计中,发送验证码是常见的一个功能,用 ...

  3. Email系列(QQ邮箱 + 含附件的邮箱案例 + 项目实战)

    平台之大势何人能挡? 带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4822808.html 邮箱系列:https://github.com/duniti ...

  4. 杂项之使用qq邮箱发送邮件

    杂项之使用qq邮箱发送邮件 本节内容 特殊设置 测试代码 1. 特殊设置 之前QQ邮箱直接可以通过smtp协议发送邮件,不需要进行一些特殊的设置,但是最近使用QQ邮箱测试的时候发现以前使用的办法无法奏 ...

  5. MVC模式下向qq邮箱发送邮件

    将已经保存在数据库中的密码通过邮件发送到qq邮箱中.用的ssm框架,其中的config文件要先配置好. 用到的jar包有gson-2.2.1.jar,gson.jar,mail.jar,activat ...

  6. 使用plupload做一个类似qq邮箱附件上传的效果

    公司项目中使用的框架是springmvc+hibernate+spring,目前需要做一个类似qq邮箱附件上传的功能,暂时只是上传小类型的附件 处理过程和解决方案都需要添加附件,处理过程和解决方案都可 ...

  7. 使用smtp和pop3 协议收发qq邮箱实验

    email系统组件:MTA 消息传输代理,负责邮件的路由,队列和发送SMTP 简单邮件传输协议1 连接到服务器2 登陆3 发出服务请求4 退出POP:邮局协议RFC918 "邮局协议的目的是 ...

  8. C#邮件发送(最坑爹的邮箱-QQ邮箱)---转发(SmallFlyElephant)

    C#邮件发送(最坑爹的邮箱-QQ邮箱) 最近工作挺清闲的,有空的时候陪妹子出去玩玩,自己看看小说,看看电影,日子过的挺欢乐的,这个星期幡然悔悟,代码才是我的最爱,做点小东西,就写个邮件发送程序.说的邮 ...

  9. PHP下利用PHPMailer配合QQ邮箱下的域名邮箱发送邮件

    作 为PHP入门开发者,常常有这种述求:自己的网站中需要添加一个使用自己的域名作为发件人邮件地址的自动发送邮件的方法,用于诸如给用户发送验证码.通知 信息等.比如:我的某个用户注册模块,需要使用reg ...

随机推荐

  1. 前端小白的gulp入门

    gulp新手入门 全局安装 cnpm install -g gulp 本地安装cnpm install gulp -D 如果项目没有package.json,记得npm init 安装插件cnpm i ...

  2. 【HTTP协议】---TCP三次握手和四次挥手

    TCP三次握手和四次挥手 首先我们知道HTTP协议通常承载于TCP协议之上,HTTPS承载于TLS或SSL协议层之上 通过上面这张图我们能够知道.     在Http工作之前,Web浏览器通过网络和W ...

  3. Sql Server 常用事务处理总结

    在数据库操作中,常用事务写法: 1. 通过 @@error 判断一批sql 执行完毕,是否有异常.  @@error 为系统变量,每次执行完 sql 都会返回一个数值,  0 表示 执行成功 ,非0 ...

  4. python自动化--语言基础1--数据类型及类型转换

    Python中核心的数据类型有哪些?变量(数字.字符串.元组.列表.字典) 什么是数据的不可变性?哪些数据类型具有不可变性数据的不可变是指数据不可更改,比如: a = ("abc" ...

  5. bzoj1150 [CTSC2007]数据备份Backup 双向链表+堆

    [CTSC2007]数据备份Backup Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2727  Solved: 1099[Submit][Stat ...

  6. iOS 添加WKWebView导致控制器无法释放的问题

    在WkWebView与JavaScript交互中,经常会在原生中注入MessageHandler,app中注入MessageHandler的方法 WKWebViewConfiguration *con ...

  7. java基础--面对对象

    面对对象--概述 什么是对象? +---->对象可以泛指一切现实中存着的事物 +---->类是对象的抽象集合 什么是面对对象? +--->万物皆对象,面对对象实际就是人与万物接触== ...

  8. Java集合框架(四)—— Queue、LinkedList、PriorityQueue

    Queue接口 Queue用于模拟了队列这种数据结构,队列通常是指“先进先出”(FIFO)的容器.队列的头部保存在队列中时间最长的元素,队列的尾部保存在队列中时间最短的元素.新元素插入(offer)到 ...

  9. 【转载】Ubuntu环境下安装QT(转)

    Ubuntu 安装 Qt 开发环境 简单实现是本文要介绍的内容,内容很短,取其精华,详细介绍Qt 类库的说明,先来看内容. 一.Ubuntu下安装Qt $ sudo apt-get install q ...

  10. IDirectDraw接口

    创建一个主DirectDraw对象,并使用QueryInterface()方法来得到最新的IDirectDraw7接口,或是直接用DirectDrawCreateEx()函数直接创建一个DirectD ...