在写一些面向用户的网站类的程序时,必不可少的一个就是注册,通常情况下,我们会选择邮箱验证后注册,或者手机发送验证码注册。上篇文章中已经简单的描述了手机验证注册,这篇主要介绍一下邮箱验证。

邮箱验证的步骤主要是:用户填写邮箱账号并提交、后台判断输入是否是有效邮箱,如果为有效邮箱,发送验证链接到输入的邮箱中,用户通过邮箱的链接,成功注册。

想实现这个功能,首先,在填写注册信息时,后台生成一个默认的状态(例如:state=0,表示未验证)存入数据库。提交表单后,把输入的内容存入数据库,然后通过send命令,向指定邮箱发送验证链接,用户通过点击链接,是默认状态更改(例如:state=1,表示验证通过),注册既成功。

发送邮件的代码如下:

 protected bool sendTheMail(string smtpserver, string smptport, string userName, string pwd, string strfrom, string strto, string subj, string bodys)
{
SmtpClient _smtpClient = new SmtpClient();
_smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
_smtpClient.Host = smtpserver;//指定SMTP服务器
if (YXShop.Common.WebUtility.isNumeric(smptport))
{
int port = Convert.ToInt32(smptport);
if (port > 0)
_smtpClient.Port = port;
}
_smtpClient.Credentials = new System.Net.NetworkCredential(userName,pwd);//用户名和密码 MailMessage _mailMessage = new MailMessage(strfrom, strto);
_mailMessage.Subject = subj;//主题
_mailMessage.Body = bodys;//内容
_mailMessage.BodyEncoding = System.Text.Encoding.Default;//正文编码
_mailMessage.IsBodyHtml = true;//设置为HTML格式
_mailMessage.Priority = MailPriority.High;//优先级 try
{
_smtpClient.Send(_mailMessage);
return true;
}
catch (Exception e)
{
throw e;
}
}
private bool SendTEmail(string strto, string subj, string bodys)
{
userReg_Accessor target = new userReg_Accessor(); // TODO: 初始化为适当的值
string smtpServer = "smtp.163.com"; // TODO: 初始化为适当的值
string smptport = "25"; // TODO: 初始化为适当的值
string userName = "**@163.com"; // TODO: 初始化为适当的值
string pwd = "**"; // TODO: 初始化为适当的值
string strFrom = "**.com"; // TODO: 初始化为适当的值
strto = "**.com"; // TODO: 初始化为适当的值
subj = "hello Miss lu"; // TODO: 初始化为适当的值
bodys = "----------"; // TODO: 初始化为适当的值
bool bl = sendTheMail(smtpServer, smptport, userName, pwd, strFrom, strto, subj, bodys);
return bl;
}

先说说这六个参数,smtpSever是邮件服务器,如果为smtp.163.com 表示网易邮箱服务器,如果是qq邮箱,则为smtp.qq.com,如果是其他的邮箱,可以查询网络。smptport是端口号,通常情况下网易邮箱和qq邮箱发送端端口号都是25,userName是发送端账号,通常为发送邮箱账号,与strFrom相同。pwd为发送端邮箱密码,strto为注册的邮箱,即输入的有效邮箱账号。subj是发送的邮件的主题,bodys是发送的邮件正文。

如果所有配置都正确,调用send方法,即可发送邮件。在邮件正文中做好设置,即可实现通过邮箱注册的功能。

简单总结如上,如有错误,欢迎指出,不胜感激!

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. Mac电脑如何读取Android手机上的文件
  2. python之消息队列
  3. Centos6.7 python2.6升级到python2.7
  4. 重叠I/O之使用完成例程的扩展I/O【系列二】
  5. Automotive Security的一些资料和心得(6):AUTOSAR
  6. Android学习笔记(广播机制)
  7. 实现Web虚拟现实的最轻松方案—A-Frame框架
  8. hdu1175连连看
  9. #, about:blank,javascript:路径比较
  10. 基于visual Studio2013解决C语言竞赛题之1036递归求值
  11. Hao Yin Jian 寒假第一周
  12. 项目常用Javascript分享,包含常用验证和Cookie操作
  13. Python内置函数(25)——getattr
  14. DB2调优摘要
  15. (转)并发编程 – Concurrent 用户指南
  16. 分析轮子(八)- List.java 各种遍历方式及遍历时移除元素的方法
  17. nginx gzip配置
  18. 大数据新手之路三:安装Kafka
  19. SqlServer 全文索引指令大全(转载)
  20. 在Windows 7上安装Team Foundation Server(TFS)的代理服务器(Agent)

热门文章

  1. bzoj 2200: [Usaco2011 Jan]道路和航线——拓扑+dijkstra
  2. 微信小程序提示框
  3. React组件生命周期小结
  4. C#利用WebClient 两种方式下载文件
  5. Linux中的vim实用命令 -- (转)
  6. js删除数组中重复的元素
  7. Caffe学习笔记3
  8. centos7安装libvirt支持xen
  9. python实战===国内很简单实用的一些开源的api以及开源项目
  10. Linux操作系统中内存buffer和cache的区别--从free命令说起(转)