在写一些面向用户的网站类的程序时,必不可少的一个就是注册,通常情况下,我们会选择邮箱验证后注册,或者手机发送验证码注册。上篇文章中已经简单的描述了手机验证注册,这篇主要介绍一下邮箱验证。
邮箱验证的步骤主要是:用户填写邮箱账号并提交、后台判断输入是否是有效邮箱,如果为有效邮箱,发送验证链接到输入的邮箱中,用户通过邮箱的链接,成功注册。
想实现这个功能,首先,在填写注册信息时,后台生成一个默认的状态(例如: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方法,即可发送邮件。在邮件正文中做好设置,即可实现通过邮箱注册的功能。
简单总结如上,如有错误,欢迎指出,不胜感激!
时间: 2024-10-11 12:58:01