Email 邮件方式激活注册账号

本文介绍了一种简单实用的邮件激活账号方法,包括发送激活邮件的代码实现及运行效果展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在网站中,我们经常需要注册一个账号,然后用这个账号来登录网页,执行一些经过身份认证后才能执行的操作, 为了确定注册的账号的确是用户自己的信息,并保证用户账号的安全性,在这里引入了 邮件激活账号的方式来验证用户注册的账号, 在用户忘记密码时,可以通过邮箱来修改密码,这些功能我们在浏览网页时,经常会遇到,但是这些功能到底是怎么实现的,看起来很神秘,其实方法很简单,下面我自己实现了一个邮件激活账号的功能,用户注册表的结构如下:

 

接下来是发送邮件的主要的代码片段:

首先要引用两个命名空间   system.Net.Mail     system.Net

 

具体代码如下:


        /// <summary>
        /// 注册账号激活
        /// </summary>
        /// <param name="email">email 账号</param>
        /// <param name="activecode">随机码</param>
        /// <param name="number">用户编号</param>
   public void SendEmail(string email, string activecode ,string number)
   {
       try
       {
           MailMessage mailmsg = new MailMessage();


           mailmsg.From = new MailAddress("sunnydayhu@163.com");
           // mailmsg.Sender  = new MailAddress ("sunnydayhu@163.com");

           mailmsg.To.Add(email);

           // 邮件标题
           mailmsg.Subject = "注册账号激活";
           // 邮件的优先级
           mailmsg.Priority = MailPriority.High;

           // 邮件内容
           StringBuilder strbulid = new StringBuilder();

           strbulid.Append("请单击以下链接完成账号激活");

           strbulid.Append("</br><a href='http://localhost:15464/account/login?activecode='" + activecode + "&id=" + number + "'>激活账号</a>");

           strbulid.Append("</br></br> 或者直接输入以下地址: http://localhost:15464/account/login?activecode=" +activecode+"&id="+ number);

           // 设置邮件正文
           mailmsg.Body = strbulid.ToString();
           //设置邮件正文的编码方式
           mailmsg.BodyEncoding = System.Text.Encoding.UTF8;
           // 是否以 html格式显示
           mailmsg.IsBodyHtml = true;

           SmtpClient smtclient = new SmtpClient();
           
           smtclient.UseDefaultCredentials =true;
           //指定如何处理待发送的电子邮件
           smtclient.DeliveryMethod = SmtpDeliveryMethod.Network;

           // 发送邮件的主机名称
          smtclient.Host = "smtp.163.com"; 
           // 设置 SMTP 的端口号
          smtclient.Port = 25;

          NetworkCredential netcred = new NetworkCredential();

	    // 发送邮件的邮箱的用户名(完整的邮箱号去掉 @后面的部分)
          netcred.UserName = "sunnydayhu"; 

	    // 发送邮件的邮箱的密码
	  netcred.Password = "*****"; 

           smtclient.Credentials = netcred;
	   // 发送邮件
           smtclient.Send(mailmsg);

       }
       catch (Exception )
       {
       }

   }

 

 

在账号注册成功时,向注册账号的邮箱中发送一封账号激活的邮件通知,在没有激活账号时, 用户无法使用登账号进行登录,系统会提示: 没有通过邮箱验证

 

运行效果如下 :

 

 

 

这只是一个简单的实现邮件激活账号的功能,如果有兴趣的话,自己也可以实现这个功能。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值