一、

这是前台需要的东西

<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. Ubantu16.04 redis安装

    通过FTP方式将redis的安装包从windows上传到linux上 解压命令:$sudo tar -zxf ~/Downloads/redis-3.2.7.tar.gz -C /usr/local ...

  2. 批处理文件:windows下关闭指定端口

    @echo offsetlocal enabledelayedexpansionset /p port=please input port number:for /f "tokens=1-5 ...

  3. MySQL体系结构及多实例

    MySQL客户端和服务器端模型 MySQL是一个典型C/S,服务器端与客户端两部分组成 服务器端程序  mysqld mysql自带的客户端(mysql mysqladmin  mysqldump等) ...

  4. KV型内存数据库Redis

    Redis是开源的高性能内存Key-Value数据库, 可以提供事务和持久化支持, 并提供了TTL(time to life)服务. Redis采用单线程数据操作+非阻塞IO的模型,非阻塞IO提供了较 ...

  5. JVM笔记2-Java虚拟机内存管理简介

    java虚拟机内存管理图如下图所示: 1.线程共享区,是所有的线程所共用的,线程共享区有一下几个组成: 1.方法区: 1.运行时常量池,已经被虚拟机加载的类信息(1.类的版本信息,2.字段,3.方法, ...

  6. Spark第一个应用程序

    首先要对源码进行编译,生成对应hadoop版本的spark开发程序jar包,上篇已经写了具体的过程,这里不再赘述. 在安装spark的机器上,下载eclipse-java-x86_64版本,将spar ...

  7. 阻止微信浏览器/QQ浏览器长按弹框“在浏览器打开”

    这个弹框实际上等同于PC环境下的鼠标右键的弹框,因此只要禁止页面的弹框事件就能完美屏蔽该弹框对我们功能带来的影响.程序代码如下: document.oncontextmenu=function(e){ ...

  8. MyBatis框架概述

    MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement.手动设 ...

  9. Visual Studio Code搭建python开发环境

    开发Python的环境有很多,原来已经在vs2013上面搭建好python的开发环境了,但是vs2013每次启动都占太多内存(太强大了吧),这下出了vs code,既轻量又酷炫,正好拿来试一试开发py ...

  10. css入门二-常用样式

    css入门二-常用样式总结 基本标签样式 背景色background-color 高度height; 宽度width; 边框对齐以及详细设定举例 width/*宽度*/: 80%; height/*高 ...