通过email来更改用户密码

1 //定义JmailCommon一个方法
private void JmailCommon(string Title_, string Body_)
{
jmail.MessageClass mail = new jmail.MessageClass();
DateTime t = DateTime.Now;
string fromemail = "service@rhyp.net";
//string fromemail = "794145818@qq.com";
string toemail = this.txtUserName.Text;
//标题
string subject = Title_;
//内容
string body = Body_;
//silent属性:如果设置为true,jmail不会抛出例外错误. jmail. send( () 会根据操作结果返回true或false
mail.Silent = true;
//jmail创建的日志,前提loging属性设置为true
mail.Logging = true;
//字符集,缺省为"us-ascii"gb2312
mail.Charset = "UTF-8";
mail.Encoding = "BASE64";
//信件的contentype. 缺省是"text/plain") : 字符串如果你以html格式发送邮件, 改为"text/html"即可。
mail.ContentType = "text/html";
//添加收件人
mail.AddRecipient(toemail, "", "");
mail.From = fromemail;
//发件人邮件用户名
mail.MailServerUserName = "service@rhyp.net";
//发件人邮件密码
mail.MailServerPassWord = "jing,.98";
//设置邮件标题
mail.Subject = subject;
//邮件添加附件,(多附件的话,可以再加一条jmail.addattachment("c:\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的jmail.contenttype="text/html";删掉。否则会在邮件里出现乱码
//mail.AddAttachment("c:\test.jpg", true, null);
//邮件内容
mail.Body = body + t.ToString();
//jmail发送的方法
if (mail.Send("smtp.qq.com", false))
{
Response.Write("<script language='javascript'>alert('OK!')</script>");
}
else
{
Response.Write("<script language='javascript'>alert('False!')</script>");
Response.Write(mail.ErrorCode.ToString() + "<br/>" + mail.ErrorMessage.ToString() + "<br/>" + mail.ErrorSource.ToString() + "<br/>");
}
mail.Close();
}


2 在 点击btnsave_Click事件执行相关代码
//查询数据库里的用户名和Email(userinfo)
//链接中传递两个相同的参数 一个用户名加密一个用户名不加密
ICommonService comminBLL = new CommonService();
protected void btnsave_Click(object sender, EventArgs e)
{
string username = this.txtUserName.Text.Trim();
UserInfo userinfo = comminBLL.ADMIN_QueryUserInfo(username);
string uname=userinfo.NiceName.ToString();
//加密截取
string str = FormsAuthentication.HashPasswordForStoringInConfigFile(uname, FormsAuthPasswordFormat.MD5.ToString()).Substring(2, 10);
if(userinfo.Email.Equals(username))
{
string str_ = string.Format(@"亲爱的用户 :{0}您好!</br>
<p>您收到这封这封电子邮件是因为您 (也可能是某人冒充您的名义) 申请了一个新的密码。假如这不是您本人所申请, 请不用理会这封电子邮件, 但是如果您持续收到这类的信件骚扰, 请您尽快联络管理员。
<p>要使用新的密码, 请使用以下链接启用密码。
<a href='http://localhost:11510/UserSignin/RetrievePassword.aspx?tn={1}&nc={0}'>http://localhost:11510/UserSignin/RetrievePassword.aspx?tn={1}&nc={0}</a></br> (如果无法点击该URL链接地址,请将它复制并粘帖到浏览器的地址输入框,然后单击回车即可。该链接使用后将立即失效。)</br>注意:请您在收到邮件1个小时内({2})使用,否则该链接将会失效。"
, uname, str, DateTime.Now);
JmailCommon("[润禾友品]找回您的账号密码^", str_);
}
else
{
Response.Write("<script language='javascript'>alert('False!')</script>");
}


}
//点击btnUpdate_Click事件执行相关代码
protected void btnUpdate_Click(object sender, EventArgs e)
{
if (this.IsValid)
{
//读取从链接传递过来的两个参数的值
string tn_str = Request.QueryString["tn"];
string nc_str = Request.QueryString["nc"];
//给没有加密的那个参数加密
string str = FormsAuthentication.HashPasswordForStoringInConfigFile(nc_str, FormsAuthPasswordFormat.MD5.ToString()).Substring(2, 10);
//两个加密后的数据继续比较 返回true 就通过用户名进行更改密码
if (tn_str.Equals(str))
{
string passwordnew = this.TxtPasswordNew.Text;
passwordnew = FormsAuthentication.HashPasswordForStoringInConfigFile(passwordnew, System.Web.Configuration.FormsAuthPasswordFormat.MD5.ToString());
userinfo.Password = passwordnew;
bool results = usermemberBLL.UpdateU_Password(nc_str, passwordnew);
if (results)
{
Response.Write("<script language='javascript'>alert('OK!')</script>");


//ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "", "xalert("恭喜你!密码更改成功!");", true);
}
}



}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值