一、

这是前台需要的东西

<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. java5 - 数组与排序算法

    数组是什么? 一.一维数组 1 声明与定义的区别 一般的情况下我们常常这样叙述, 把建立空间的声明称之为"定义", 而把不需要建立存储空间称之为"声明". 很明 ...

  2. day3(while、流程控制)

    一.while 语法 white 条件: 执行代码... 小练习: #打印0-100的偶数 count = 0 while count <= 100: if count %2 == 0 : pr ...

  3. 内置函数 -- filter 和 map

    参考地址:http://www.cnblogs.com/sesshoumaru/p/6000788.html 英文文档: filter(function, iterable) Construct an ...

  4. Linux基础四

    vim编辑器 vi编辑器的增强版,语法高亮等扩展功能 vim三种工作模式  a,i,o等键输出模式 命令模式,输入模式,末行模式 模式间的切换 a:当前行插入 i:当前行插入 o:全新一行插入 :键末 ...

  5. plx9030触发pci中断

    if(((SWAB_16(PLX_INT(0x4C)))&0x04)==0x04) { ErrNo = *(UINT16*)(g_MemBase+0XFFFE*2); /*logMsg(&qu ...

  6. R语言自动化报告格式——knitr

    R语言自动化报告格式--knitr 相关文献: R语言自动化报告格式--knitr 资讯 | R Notebooks 即将发布 ------------------------------------ ...

  7. echarts中的option.legend.data has not been defined.

    1.错误描述 2.错误原因 var map = function(mapData){ require( [ 'echarts', 'echarts/chart/map' ], function (ec ...

  8. FC总线技术简介

    FC是由美国标准化委员会(ANSI)的X3T11小组于1988年提出的高速串行传输总线,解决了并行总线SCSI遇到的技术瓶颈,并在同一大的协议平台框架下可以映射更多FC-4上层协议.FC具备通道和网络 ...

  9. Flex读取txt文件中的内容(三)

    Flex读取txt文件中的内容 1.设计源码 LoadTxt.mxml: <?xml version="1.0" encoding="utf-8"?> ...

  10. Error Code: 1630. FUNCTION rand.string does not exist

    1.错误描述 13:50:13 call new_procedure Error Code: 1630. FUNCTION rand.string does not exist. Check the ...