.NET下用C#实现邮箱激活功能

  最近要用到安全邮箱激活的功能,故写篇博客记录下。

  思路:在表中增加一个字段State来记录邮箱是否激活(0激活,1未激活。)

1、发送邮件。

1-1,给邮箱发送邮件。内容:激活地址+GUID。

1-2,以GUID作为键Userid为值存入Session中

2、点击邮箱里激活链接 激活。

2-1,请求激活页面。(需在20分钟内,同一浏览器打开)

2-2,通过GUID取Session中的Userid  进行激活。

上代码:

1.发送邮件

  我们可以使用.net自带的类库:System.Net.Mail;

 1         /// <summary>
 2         /// 发送激活链接.
 3         /// </summary>
 4         public static void SendEmail(string activeCode, string mail)
 5         {
 6             MailMessage mailMsg = new MailMessage();//两个类,别混了,要引入System.Net这个Assembly
 7             mailMsg.From = new MailAddress("[email protected]");//源邮件地址 ,发件人
 8             mailMsg.To.Add(new MailAddress(mail));//目的邮件地址。可以有多个收件人.
 9             mailMsg.Subject = "请激活在商城中的注册链接";//发送邮件的标题
10             mailMsg.Body = "<a href=‘http://localhost:2934/Home/Active/?userId=36&activeCode=" + activeCode + "‘>请单击激活</a>";//发送邮件的内容
11             mailMsg.IsBodyHtml = true;
12             SmtpClient client = new SmtpClient("smtp.163.com");//smtp.163.com,smtp.qq.com,发件人使用的邮箱的SMTP服务器。
13             client.Credentials = new NetworkCredential("[email protected]", "xxxxxxxx");//指定发件人的邮箱的账号与密码.
14             client.Send(mailMsg);//排队发送邮件.
15
16         }    

  发送邮件服务端代码

 1  public partial class Index : System.Web.UI.Page
 2     {
 3         public string Url { get; set; }
 4         protected void Page_Load(object sender, EventArgs e)
 5         {
 6
 7
 8             string key = Guid.NewGuid().ToString("N");
 9             // 以GUID为key 存储用户id
10             Session[key] = 1;
11             // Url需要发送至邮件
12             Url = "http://localhost:25088/active.aspx?key=" + key;
13
14         }
15     }

2.激活

 1   public partial class active : System.Web.UI.Page
 2     {
 3         public string Msg { get; set; }
 4         protected void Page_Load(object sender, EventArgs e)
 5         {
 6             Msg = "激活失败";
 7             // 取请求中的key
 8             string key = Request["key"];
 9             if (Session[key] != null)
10             {
11                 // 这里还需要操作数据库
12                 Msg = "激活成功,Userid为" + Session[key];
13             }
14
15         }
16     }

时间: 2024-10-10 10:12:31

.NET下用C#实现邮箱激活功能的相关文章

自制邮箱激活功能全套

写了一个邮箱激活的功能使用的SMTP简单协议希望大神给点好的建议优化一下,代码如下 public static bool sendmail(string to, string title, string content, string Host, string Account, string Pwd,string From) { SmtpClient _smtpClient = new SmtpClient(); _smtpClient.DeliveryMethod = SmtpDelivery

asp.net mvc 注册中的邮箱激活功能实现

基本流程图 注册页面就不再写出,现在将发送邮件的代码粘贴出来 public ActionResult SendEmial() { int customerID= 1; string validataCode = System.Guid.NewGuid().ToString(); try { System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress([email protected], "wode"); //填写

用户注册的邮箱激活模块的设计与实现

----------------------------------------------------------------------------------------------[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52144698作者:朱培      ID:sdksdk0      邮箱: [email protected] --------------------------

邮箱验证功能原理 语法 属性

邮箱验证功能原理 1 [已解决问题] 浏览: 3508次 很多地方都在注册账号的时候使用邮箱验证功能.注册后发送一封邮件到注册邮箱里面.然后点击 邮箱里面的链接 激活邮箱. 还有手机验证 这些的原理是 怎么样的.忘指点 .NET技术 ASP.NET yzy | 菜鸟二级 | 园豆:295 提问于:2012-03-20 18:26 < > 找找看 关注 最佳答案 2 这个其实就是通过第三方,将数据传递给用户,然后用户通过比如邮箱 来获取验证码,然后注册信息,起到一个比较安全的的作用..邮箱验证就

SpringBoot实现网站注册,邮件激活码激活功能

项目源码:https://gitee.com/smfx1314/springbootemail 上一篇文章已经讲到如何springboot如何实现邮件的发送,趁热打铁,这篇文章实现如下功能. 很多网站注册功能都会给您注册的邮箱发送一封邮件,里面是一串连接,点击链接激活功能,今天咱们就实现这个功能. 原理: 在您注册的时候,User类中设置一个邮件码code,同时用户状态未激活.邮件码可以通过UUID实现,这样在注册的时候发送一封邮件,把这个邮件码以html的格式发送到指定邮箱,然后通过点击链接,

discuz3.2x增加邮箱验证功能

为防止垃圾用户多次注册,为disczu增加邮箱验证功能. 大致分为二步: 1.申请邮箱,这里推荐使用腾讯免费企业邮箱:https://exmail.qq.com/portal/introducefree (对普通开发者来说50个名额已足够,只要买个域名就能申请到企业邮箱还是很划算的),如果有其他更好的,欢迎推荐下 2.在discuz中进行设置. 1的具体步骤: 进入注册页面注册成功,登录企业邮箱,首页显示,如图: 在成员与群组中增加一个部门,并且在部门下增加一个用户(用来收发邮件的用户): 在我

【JavaMailWeb】用户注册通过邮箱激活案例

转载请注明出处: http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 前面刚刚学习了JavaMail技术,现在来应用到项目中试试~ 网站用户注册: 主要实现如下两个功能: 1.用户在网站上注册完成后给用户发一封邮件. 2.用户通过邮件激活后才可以登录. 思路: 首先需要一个思路: 用户在前台点击注册,向servlet提交请求,把用户提交过来的信息封装成一个JavaBean(需要的信息有name,pwd,email这3个是用户填写的,我们帮用户生成的

简单的用户注册|登录|修改密码|邮箱激活 |Django

# =====> 用户注册与登录|找回密码 1.页面没有逻辑操作 from django.views.generic import TemplateView urlpatterns = [ url(r'^$', TemplateView.as_view(template_name="index.html")) ] # 如果页面有逻辑操作就需要配置视图函数: from django.shortcuts import render def user_login(requet): if

Java注册帐号邮箱激活验证实现

Java注册帐号邮箱激活验证实现 1.需要加入发送邮件的mail.jar: http://www.oracle.com/technetwork/java/javamail/index-138643.html ? 2.将字符串通过MD5进行加密的工具类: class="java">import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.