C# Winfrom 发送邮件验证码&Timer控件
邮件发送:
//定义一个全局的string类型的验证码;
string yzm = "";
//定义一个字符串,这里面包含所有需要的验证码的元素;
string a = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
//以下写在按钮的点击事件内
//实例化随机数
Random b = new Random();
yzm = "";
//循环6次得到一个随机的六位数验证码
for (int i = ; i < ; i++)
{
yzm = yzm + a.Substring(b.Next(, a.Length), );
}
//创建服务器对象
SmtpClient smtp = new SmtpClient("smtp.sina.cn");
//创建发件人的邮箱
MailAddress ab = new MailAddress("xxxxx@sina.cn");
try
{
//获取文本框的收件人的邮箱
MailAddress cd = new MailAddress(textBox1.Text);
//创建邮件对象,准备发送
MailMessage mess = new MailMessage(ab, cd);
//邮件的标题
mess.Subject = "邮件验证码";
//邮件的内容
mess.Body = "您的验证码为:" + yzm + ",请在20分钟内验证,系统邮件请勿回复!";
//创建互联网安全证书
NetworkCredential cred = new NetworkCredential("邮箱账号@sina.cn", "邮箱密码");
//将证书绑定到服务器对象以便服务器验证
smtp.Credentials = cred;
//开始发送
smtp.Send(mess);
//发送完成后按钮不可用
// button3.Enabled = false;
//激活timer事件
// timer1.Enabled = true;
//倒计时30秒
// timer = 30;
MessageBox.Show("发送成功");
}
catch
{
MessageBox.Show("输入正确的邮箱格式!"); }
邮箱验证码验证:
if (yzm == textBox2.Text)
{
MessageBox.Show("正确");
}
else
{
MessageBox.Show("错误");
}
设置timer事件:
timer--;
button3.Text = "发送(" + timer + ")";
if (timer <= )
{
button3.Text = "发送";
timer1.Enabled = false;
button3.Enabled = true;
}
C# Winfrom 发送邮件验证码&Timer控件的更多相关文章
- C# Winfrom 简单的运用Timer控件
注意,在使用DateAndTime时,需要添加引用 using Microsoft.VisualBasic;否则不可以计算时间之间的差值. using System; using System.Col ...
- winform 用户控件、 动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日
好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...
- winform用户控件、动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- 无边框窗体和timer控件
一.无边框窗体 1.控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要放置的控件可以点击能触发点击事件就可以了 做的好看一点,就是鼠标移入(pictureBox1_MouseE ...
- C# Winform学习---MDI窗体的设计,PictureBox控件(图片上一页下一页),Timer控件,MenuStrip控件
一.MDI窗体的设计 1.MDI简介 MDI(Multiple Document Interface)就是所谓的多文档界面,与此对应就有单文档界面 (SDI), 它是微软公司从Windows 2.0下 ...
- WinForm timer控件
timer 控件:按用户定义的时间间隔引发的事件 属性: Enabled 是否启用: Interval 事件发生的事件间隔,单位是毫秒 事件只有一个:Tick 事件经过指定的时间间隔 ...
- timer控件、三级联动
timer控件: 实现时间日期自增长: using System; using System.Collections.Generic; using System.ComponentModel; usi ...
- WPF的Timer控件的使用WPF的Timer控件的使用
通过System.Threaing.Timer控件来实现“初始加载页面时为DataGrid的模版列赋初始值” System.Threaing.Timer的用法: 步骤1: //声明定时器 System ...
随机推荐
- 组建自己的局域网(可以将PC机实现为服务器)
最近想要自己组建一个集群,并且可以通过外网访问,查了好些资料,终于成功了! 设备清单:笔记本1:(4g内存,500g硬盘),笔记本2:(12g内存,120g固态硬盘) (笔记本2上装有5台虚拟机,操作 ...
- C# Note2:委托(delegate) & Lambda表达式 & 事件(event)
前言 本文主要讲述委托和Lambda表达式的基础知识,以及如何通过Lambda表达式实现委托调用,并阐述.NET如何将委托用作实现事件的方式. 参考:C#高级编程 1.什么是委托(delegate)? ...
- Spring boot + mybatis + orcale实战(干货)
废话少说,直接上步骤: 第一步:安装好IDEA(此处省略) 第二步:在IDEA新建springboot工程 第三步:在springboot工程的pom.xml添加oracle和mybait依赖 < ...
- Django--ORM 多表查询
一 . 建立外键 一对一建立外键 外键名称 = models.OneToOneField(to='要连接的类名', to_field='字段') 一对多建立外键 外键名称 = models.Forei ...
- k8s调度器、预选策略及调度方式
一.k8s调度流程 1.(预选)先排除完全不符合pod运行要求的节点2.(优先)根据一系列算法,算出node的得分,最高没有相同的,就直接选择3.上一步有相同的话,就随机选一个 二.调度方式 1.no ...
- jQuery插件开发的基本形式
(function ($, window, document, undefined) { "use strict"; var defaults = { pageIndex: 0, ...
- Vue生产环境部署
前面的话 开发时,Vue 会提供很多警告来帮助解决常见的错误与陷阱.生产时,这些警告语句却没有用,反而会增加载荷量.再次,有些警告检查有小的运行时开销,生产环境模式下是可以避免的.本文将详细介绍Vue ...
- [TaskList] 省选前板子补完计划
省选前本子补完计划 [ ] 带权并查集 [ ] 树上莫队 - UOJ58 [WC2013]糖果公园 loj2485「CEOI2017」Chase
- 向继电器发送socket请求(python+java)
近日,有一需求,向连接在内网的继电器发送socket请求,加以控制.原本并不复杂,只是io流/socket转换的问题,实操中却出现python代码没问题,java代码执行无响应的问题,问题很好定位:没 ...
- linux系统版本大全
Linux系统下载地址:http://www.jb51.net/LINUXjishu/239493.html linux系统教学视频:http://www.uplinux.com/shipin/lin ...