asp.net 郵箱取回密碼

來源:互聯網
上載者:User
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>個人會員密碼找回</title>
<link href="/style.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript">
// 檢查 E-mail 是否已被註冊
function CheckEmail()
{
var e = document.getElementById("email").value;
if(e != "")
{
if(!/(\S)+[@]{1}(\S)+[.]{1}(\w)+/.test(e))
{
alert("請輸入格式正確的E-mail 地址!");
var email = document.getElementById ( "email" );
email.value = "";
email.focus ();
}
}
}

function checkAll()
{
var ee = document.getElementById("username").value;
if(ee == "")
{
alert('登入名稱稱不可為空');
return false;
}

var e = document.getElementById("email").value;
if(e == "")
{
alert('Emial不可為空');
return false;
}

}

</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table width="778" border="0" align="center" cellpadding="5" cellspacing="0" class="table_huang">
<tr>
<td colspan="2" class="TD_huang_14_write"> <span style="font-size: 11pt">>> 擷取密碼</span></td>
</tr>
<tr>
<td width="26"></td>
<td width="724"><table width="90%" border="0" cellspacing="2" cellpadding="5">
<tr>
<td width="23%"><div align="right">使用者名稱:</div></td>
<td width="77%">
<asp:TextBox ID="username" runat="server" Width="150px" ></asp:TextBox></td>
</tr>
<tr>
<td><div align="right">註冊時填寫的Email:</div></td>
<td>
<asp:TextBox ID="email" runat="server" Width="200px" ></asp:TextBox></td>
</tr>
<tr>
<td><div align="right">驗證碼:</div></td>
<td><table width="100%">
<tr>
<td align="left" valign="top" style="width: 64px"><asp:TextBox ID="txt_validcode" runat="server" Height="15px" Width="62px"></asp:TextBox> </td>
<td align="left" valign="top"><img id="yzm" src="../ValidateCode.aspx" /></td>
</tr>
</table></td>
</tr>
<tr>

<td colspan="2" style="text-align: center">
<asp:Button ID="Button1" runat="server" Text=" 找回密碼 " /></td>
</tr>
</table> </td>
</tr>
</table>
</div>
</form>
</body>
</html>

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class ClientServer_Default2 : System.Web.UI.Page
{
string lspass = "";

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Button1.Attributes.Add("onclick", "javascript:return checkAll();");
}

}
protected void Button1_Click(object sender, EventArgs e)
{
HttpCookie myCookie_validcode = Request.Cookies["FWCX_CheckCode"];
if (myCookie_validcode.Value.ToString() != txt_validcode.Text)
{
Response.Write("<script>");
Response.Write("alert('驗證碼錯誤')");
Response.Write("</script>");
return;
}

//首先判斷該登入名稱稱和email是否存在
string sql = "select * from t_users where u_username='" + username.Text.Trim() + "' and u_email='" + email.Text.Trim() + "' and u_class='0' and u_valid='1'";
DataTable dt = new DataTable();
//dt = new SQLTool().dataTable(sql);

if (dt.Rows.Count < 1)
{
Response.Write("<script>alert('登入名稱稱或Email地址錯誤!,請重新填寫後再試。');</script>");

}
else
{
//首先給現在的資料庫t_users附上一個臨時密碼
//Response.Write(CreateRandomCode(8));
lspass = CreateRandomCode(8);
sql = "update t_users set u_getpwd='" + lspass + "' where u_username='" + username.Text.Trim() + "' and u_email='" + email.Text.Trim() + "' and u_class='0' and u_valid='1'";
//if (new SQLTool().ExecuteSql(sql) >= 0)
//{
sendEmail(email.Text.Trim(), username.Text.Trim());
Response.Write("<script>alert('臨時密碼已經發送到您的註冊Email中,請在下一頁面中修改密碼。');window.location.href='getpwdconfirm.aspx';</script>");
//}
}
}
public void sendEmail(string email, string name)
{
try
{
jmail.Message jmessage = new jmail.Message();
jmessage.Charset = "GB2312";
jmessage.From = "86085005@163.com";
// 發信地址
jmessage.MailServerUserName = "86085005";
//smtp認證使用者名稱(注:如為網易使用者,不加要@163.com,只要前面部分即可)
jmessage.MailServerPassWord = "kingseer";
// smtp論證使用者名稱密碼

jmessage.FromName = "108人力銀行";
// 發信人
jmessage.ReplyTo = "86085005@163.com";
// 回複地址
jmessage.C;//郵件內容為html
jmessage.Subject = "108人力銀行臨時密碼";

string strbody = "";
strbody += new functions().getInfoXX("t_pagetexts", "p_name", "找回密碼郵件反饋-個人", "p_value").Replace("$", name).Replace("@%", lspass);
jmessage.HTMLBody = strbody;
// 郵件標題
jmessage.AddRecipient(email, "", "");
jmessage.Send("smtp.163.com", false);//發送郵件smtp.163.com
jmessage.Close();//關閉對象,釋放資源

}
catch (Exception err)
{
Response.Write(err);
}
}
/// <summary>
/// 功能:產生數字和字元混合的隨機字串
/// </summary>
/// <param name="codecount">字串的個數</param>
/// <returns></returns>
private string CreateRandomCode(int codecount)
{

// 數字和字元混合字串
string allchar = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n";
//分割成數組
string[] allchararray = allchar.Split(',');
string randomcode = "";

//隨機數執行個體
System.Random rand = new System.Random(unchecked((int)DateTime.Now.Ticks));
for (int i = 0; i < codecount; i++)
{
//擷取一個隨機數
int t = rand.Next(allchararray.Length);
//合成隨機字串
randomcode += allchararray[t];
}
return randomcode;
}

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.