C# 註冊郵箱驗證的實現代碼

來源:互聯網
上載者:User

標籤:郵箱   ref   exception   使用者   郵箱驗證   system   群發   from   表單驗證樣本   

本文介紹下,C#實現註冊使用者時,通過郵箱進行驗證的思路與代碼,有需要的朋友,不妨參考下。 

一、思路

1,資料庫加兩個字,state欄位(0:未啟用,1:啟用成功),ActiCode:(放啟用碼)。

2,使用者填寫資料,插入資料成功,state欄位預設是0,同時產生一個ActiCode也存入資料庫。

3,提示使用者啟用。發送郵件。郵件中帶一個啟用成功頁的URL,URL裡有兩個參數(1,使用者ID,2:啟用碼)。

4,使用者點選連結,回到啟用成功頁。啟用成功頁的Load事件,得到兩個參數,以這兩個參數為條件查詢資料庫裡的資料,如果有,修改欄位state為1,反之。提示啟用失敗,重新啟用。

二、代碼部分
 

複製代碼 程式碼範例:

//發送郵件
//Body裡放A標籤(前提是IsBodyHtml 設為true,才會允許發送HTML格式的)
#region
public static void Sends(string email)
{
     string formto = "寄件匣地址";
     string to = email;   //接收郵箱
     string content = "";
     string body = "";
     string name = "寄件匣";
     string upass = "密碼";
     string smtp = "smtp地址";
     SmtpClient _smtpClient = new SmtpClient();   
     _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定電子郵件發送方式
     _smtpClient.Host = smtp; //指定SMTP伺服器
     _smtpClient.Credentials = new System.Net.NetworkCredential(name, upass);//使用者名稱和密碼
     MailMessage _mailMessage = new MailMessage();
     //寄件者,寄件者名
     _mailMessage.From = new MailAddress(formto, "別名");
     //收件者
     _mailMessage.To.Add(to);
     _mailMessage.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312");
     _mailMessage.Subject = content;//主題

     _mailMessage.Body = body;//內容
     _mailMessage.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");//本文編碼
     _mailMessage.IsBodyHtml = true;//設定為HTML格式
     _mailMessage.Priority = MailPriority.High;//優先順序 
     try
     {
  _smtpClient.Send(_mailMessage);
     }
     catch (Exception)
     {
  
     }
   
 }
 #endregion

或者:
 

複製代碼 程式碼範例:

using System.Net.Mail;

public partial class jqueryText_Limit : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
 MailAddress MessageFrom = new MailAddress("[email protected]"); //寄件者郵箱地址
 string MessageTo = "[email protected]"; //收件者郵箱地址
 string MessageSubject = "郵件主題"; //郵件主題
string MessageBody = "請進行郵箱驗證來完成您註冊的最後一步,點擊下面的連結啟用您的帳號:<br><a target=‘_blank‘ rel=‘nofollow‘ style=‘color: #0041D3; text-decoration: underline‘ href=‘http://www.****.net/regeditOK.aspx‘>啟用</a>"; //郵件內容 (一般是一個網址連結,產生隨機數加驗證id參數,點擊去網站驗證。)

 if (Send(MessageFrom, MessageTo, MessageSubject, MessageBody))
 {
     Response.Write("發送郵件成功");
 }
 else
 {
     Response.Write("發送郵件失敗");
 }
    }
    /// <summary>
    /// 寄送電子郵件
    /// </summary>
    /// <param name="MessageFrom">寄件者郵箱地址</param>
    /// <param name="MessageTo">收件者郵箱地址</param>
    /// <param name="MessageSubject">郵件主題</param>
    /// <param name="MessageBody">郵件內容</param>
    /// <returns></returns>
    public bool Send(MailAddress MessageFrom, string MessageTo, string MessageSubject, string MessageBody)
    {
 MailMessage message = new MailMessage();
     
// if (FileUpload1.PostedFile.FileName != "")
// {
 // Attachment att = new Attachment("d://test.txt");//發送附件的內容
//    message.Attachments.Add(att);
// }
     
 message.From = MessageFrom;
 message.To.Add(MessageTo); //收件者郵箱地址可以是多個以實現群發
 message.Subject = MessageSubject;
 message.Body = MessageBody;
 //message.Attachments.Add(objMailAttachment);
 message.IsBodyHtml = false; //是否為html格式
 message.Priority = MailPriority.High; //發送郵件的優先等級
     
 SmtpClient sc = new SmtpClient();
 sc.Host = "smtp.126.com"; //指定發送郵件的伺服器位址或IP
 sc.Port = 25; //指定發送郵件連接埠
 sc.Credentials = new System.Net.NetworkCredential("[email protected]", "xxx"); //指定登入伺服器的使用者名稱和密碼(寄件者的郵箱登陸密碼)

 try
 {
     sc.Send(message); //發送郵件
 }
 catch
 {
     return false;
 }
 return true;

    }
}

您可能感興趣的文章:
JQuery調webservice實現郵箱驗證(檢測是否可用)
jquery無重新整理驗證郵箱地址實現執行個體
JQuery中form驗證出錯資訊的查看方法
jQuery實現使用者註冊的表單驗證樣本
常用js驗證代碼大全(Email、手機號碼、社會安全號碼碼、檔案類型等)
如何提高E-mail收發的成功率
jquery驗證手機號碼、郵箱格式是否正確範例程式碼
驗證使用者輸入的郵箱有效性與正確性的php代碼
使用pear:Net_SMTP類發送郵件的例子
jquery validate在ie8下的bug解決方案

C# 註冊郵箱驗證的實現代碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.