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(xxxxxxxx@163.com, "wode"); //填寫電子郵件地址,和顯示名稱
                System.Net.Mail.MailAddress to = new System.Net.Mail.MailAddress(xxxxx@qq.com, "nide"); //填寫郵件的收件人地址和名稱
                //設置好發送地址,和接收地址,接收地址可以是多個
                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:3210/Order/ActivePage?customerID=" + customerID+ "&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("xxxxxxxx@163.com", "xxxxxx");
                //發送郵件
                client.Send(mail);
            }
            catch {}

            return new EmptyResult();
        }
 
復制代碼

說明:

  1. 填寫服務器地址相關的用戶名和密碼信息  client.Credentials = new System.Net.NetworkCredential("xxxxxxxx@163.com", "xxxxxx");
    這個需要填寫發件方的郵箱名和密碼
  2. 此處發送的郵件內容不會顯示出來鏈接的地址信息,只會以超鏈接的方式存在,效果如圖所示:

        3.  驗證碼是否有效分為兩種情況:1.驗證是否在規定時間內,激活鏈接;2.驗證碼和數據庫中保存的是否相同

 

  • 實現思路:
  1. 頁面需要三個頁面:1.注冊頁面;2.激活頁面;3.失敗頁面。
  2. 數據庫表中添加一個激活的狀態字段-11 (-1為未激活,1未激活),在添加一個驗證碼字段validateCode,最后在添加一個注冊時間字段registeredDate
  3. 程序中,注冊頁面添加注冊信息,隨機生成注冊驗證碼(GUID)添加到數據庫中,把用戶id驗證碼作為參數發送到郵箱中
  4. 因為用的是asp.net mvc 所以不需要自己寫代碼獲取url中的參數,action 中的參數只要和url 中的對應就行了,action會幫我們自動的獲取url 中的參數信息
  5. 通過action 中的參數信息查詢數據庫,判斷是否可以激活注冊信息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM