c#语言web页实现邮箱注册功能

来源:互联网 发布:macbook 装机必备软件 编辑:程序博客网 时间:2024/06/12 21:37

前言:
通过了一下午的学习和查询资料终于对于邮箱注册发送验证码这个功能的有了一个详尽的思路,并且最终的实现,还是有一点小小的成就感!其实了解邮箱通讯只要了解一下邮箱通讯的原理stmp和pop3协议。
内容:
1.邮箱发送的基本原理
这里写图片描述
POP服务器是用来收信的,而且每个E_mail地址一般只有一个。如果你要同时收取多个邮箱的信件,就必须挨个设置每个邮箱的POP3服务器地址。所以才会有一个发件人,很多的收件人。
基本的做法:
第一步:设置自己的IIS的虚拟smtp邮箱,我的电脑是win8.1的,我首先找到了启动或关闭window功能,然后选中internet information Service将下面选项都勾上。如下图:
这里写图片描述
第二步:从管理工具中找到IIS管理器,就可以出现如下的页面,就说明已经成功安装smtp邮箱:
这里写图片描述
第三步:当成功安装好stmp邮箱的时候,就开始设定STMP服务器的,如果要用163邮箱发送信件,就设定成stmp.163.com;同理qq邮箱就设定成stamp.qq.com.
这里写图片描述
第四步,外部环境设定好之后我们就开始正式的进行编码,打开vs,创建一个web网页,代码如下:

 protected void Page_Load(object sender, EventArgs e)    {         MailAddress MessageFrom = new MailAddress("15732626353@163.com"); //发件人邮箱地址        string MessageTo = "xxxxxxxx@163.com"; //收件人邮箱地址        string MessageSubject = "家谱验证码——家谱欢迎您"; //邮件主题        string MessageBody = "请进行邮箱验证来完成您注册的最后一步,点击下面的链接注册您的帐号:<br><a target='_blank' rel='nofollow' style='color: #0041D3; text-decoration: underline' href='http://www.****.net/regeditOK.aspx'>注册</a>"; //邮件内容 (一般是一个网址链接,生成随机数加验证id参数,点击去网站验证。)        if (Send(MessageFrom, MessageTo, MessageSubject, MessageBody))        {            Response.Write("发送邮件成功");        }        else        {            Response.Write("发送邮件失败");        }        }
#region  发送电子邮箱——常银玲--2016-8-1 14:48:49    /// <summary>        /// 发送电子邮件        /// </summary>        /// <param name="MessageFrom">发件人邮箱地址</param>        /// <param name="MessageTo">收件人邮箱地址</param>        /// <param name="MessageSubject">邮件主题</param>        /// <param name="MessageBody">邮件内容</param>        /// <returns></returns>        public bool Send(MailAddress MessageFrom, string MessageTo, string MessageSubject, string MessageBody)        {         MailMessage message = new MailMessage();        message.From = MessageFrom;        message.To.Add(MessageTo); //收件人邮箱地址可以是多个以实现群发        message.Subject = MessageSubject;        message.Body = MessageBody;        //message.Attachments.Add(objMailAttachment);        message.IsBodyHtml = false; //是否为html格式        message.Priority = MailPriority.High; //发送邮件的优先等级        //发送端         SmtpClient sc = new SmtpClient("smtp.163.com", 25);         sc.Credentials = new System.Net.NetworkCredential("xxxxxxxxxx@163.com", "xxx"); //指定登录服务器的用户名和密码(发件人的邮箱登陆密码)             try        {            sc.Send(message); //发送邮件        }        catch        {            return false;        }        return true;        }    #endregion

基本上功能就实现,其实这里面的代码不难,只要理解了原理就可以了。而我在整理这里的内容的时候我就是在理解他们之间的关系以及设定IIS的环境没有想到!希望可以帮到大家!

1 0
原创粉丝点击