zoukankan      html  css  js  c++  java
  • asp.net mvc邮箱激活

    1.发送邮件

    1 public ActionResult SendEmail()
    2         {
    3             var member = dbSession.MemberRepository.LoadEntities(p => p.UserName == User.Identity.Name).SingleOrDefault();
    4             var tokenCode = Send(member.ID, member.Email, member.UserName);
    5             member.TokenCode = System.Guid.Parse(tokenCode);
    6             dbSession.MemberRepository.Update(member);
    7             dbSession.SaveChanges();
    8             return View(member);
    9         }
    private string Send(int id=0,string targetEmail="****@163.com",string memberName="aspen")
            {
                string validataCode = System.Guid.NewGuid().ToString();
                try { 
                    System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress("****@163.com", "服务贸易网"); //填写电子邮件地址,和显示名称
                    System.Net.Mail.MailAddress to = new System.Net.Mail.MailAddress(targetEmail, memberName); //填写邮件的收件人地址和名称
                    //设置好发送地址,和接收地址,接收地址可以是多个
                    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); 
                    mail.From = from;
                    mail.To.Add(to);
                    mail.Subject = "主题内容";
                 
                    System.Text.StringBuilder strBody = new System.Text.StringBuilder();
                    strBody.Append("点击下面链接激活账号,48小时生效,否则重新注册账号,链接只能使用一次,请尽快激活!</br>");
                    strBody.Append("<a href='http://localhost:59637/Account/CheckEmail?memberID=" + id + "&validataCode=" + validataCode + "'>点击这里</a></br>");
    
                    mail.Body = strBody.ToString();
                    mail.IsBodyHtml = true;//设置显示htmls
                    //设置好发送邮件服务地址
                    System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
                    client.Host = "smtp.163.com";
                    //填写服务器地址相关的用户名和密码信息
                    client.Credentials = new System.Net.NetworkCredential("****@163.com", "****");
                    //发送邮件
                    client.Send(mail);
                }
                catch {}
                return validataCode;
            }

    2.开启SMTP服务

    要想邮件发送成功必须开通SMTP服务,以163邮箱为例:

    1.登录发件人邮箱并开启SMTP服务

    3.将第一步中点击激活连接中的验证码与数据库中的验证码进行比对,来判断邮箱是否验证通过

     public ActionResult CheckEmail(string validataCode,int memberID=0)
            {
                var member = dbSession.MemberRepository.LoadEntities(p=>p.ID==memberID).SingleOrDefault();
                if (member.TokenCode.ToString()==validataCode)
                {
                    TempData["CheckResult"] = "邮箱验证成功";
                    member.IsPassAudit = true;
                    
                }
                else
                {
                    TempData["CheckResult"] = "邮箱未通过验证";
                    member.IsPassAudit = false;
                }
                dbSession.MemberRepository.Update(member);
                dbSession.SaveChanges();
                return Redirect("/Account/PersonalInfo");
            }
  • 相关阅读:
    JS事件委托学习(转)
    js 监听监键盘动作(转)
    JS操作JSON总结
    靶机练习-VulnHub-Toopo
    Web安全测试学习笔记
    Web安全测试学习笔记
    PentesterLab练习
    CTF-攻防世界-supersqli(sql注入)
    工具学习
    漏洞复现-ElasticSearch 命令执行漏洞(CVE-2014-3120)
  • 原文地址:https://www.cnblogs.com/CeleryCabbage/p/4730358.html
Copyright © 2011-2022 走看看