1. 程式人生 > >C# 註冊郵箱驗證的實現代碼

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

static 別名 subject php sin 附件 sbo 參考 子郵件

本文介紹下,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# 註冊郵箱驗證的實現代碼