標籤:電子郵件 amp bsp 頁面 hang new 代碼 app 註冊
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"); //填寫電子郵件地址,和顯示名稱 System.Net.Mail.MailAddress to = new System.Net.Mail.MailAddress([email protected], "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("[email protected]", "xxxxxx"); //發送郵件 client.Send(mail); } catch {} return new EmptyResult(); }
說明:
- 填寫伺服器位址相關的使用者名稱和密碼資訊 client.Credentials = new System.Net.NetworkCredential("[email protected]", "xxxxxx");
這個需要填寫發件方的郵箱名和密碼
- 此處發送的郵件內容不會顯示出來連結的地址資訊,只會以超連結的方式存在,效果:
3. 驗證碼是否有效分為兩種情況:1.驗證是否在規定時間內,啟用連結;2.驗證碼和資料庫中儲存的是否相同
- 頁面需要三個頁面:1.註冊頁面;2.啟用頁面;3.失敗頁面。
- 資料庫表中添加一個啟用的狀態欄位-1或1 (-1為未啟用,1未啟用),在添加一個驗證碼欄位validateCode,最後在添加一個註冊時間欄位registeredDate
- 程式中,註冊頁面添加註冊資訊,隨機產生註冊驗證碼(GUID)添加到資料庫中,把使用者id和驗證碼作為參數發送到郵箱中
- 因為用的是asp.net mvc 所以不需要自己寫代碼擷取url中的參數,action 中的參數只要和url 中的對應就行了,action會幫我們自動的擷取url 中的參數資訊
- 通過action 中的參數資訊查詢資料庫,判斷是否可以啟用註冊資訊
asp.net mvc 註冊中的郵箱啟用功能實現