`
JasonZhangYuJie
  • 浏览: 8241 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

通过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);
                    }
                }


              
            }
        }


   
分享到:
评论

相关推荐

    WordPress自定义用户注册页面插件.zip

    之前也有很多教程教你如何解决这个问题,解决方法是修改WordPress的源文件,让用户注册后直接给他显示密码,而不是给他发送Email,这样问题是解决了,但是每次WordPress升级后,又要重新修改,以现在WordPress的升级...

    Email.App:Java实践-一个简单的应用程序,可以根据用户输入生成电子邮件地址和密码

    Email.App Java实践-一个简单的应用程序,可以根据用户输入生成电子邮件地址和密码电子邮件应用方案:您是IT支持管理员专家,负责为新员工创建电子邮件帐户。 您的应用程序应执行以下操作:使用以下语法生成电子...

    花斑猪交友列表2.0多用户版.rar

    5 支持用户密码忘记回复. 6 支持用户下的友情登陆用户密码忘记回复. 7 支持超级用户修改删除所有用户. 8 支持用户修改删除所有用户. 9 支持自动分页. 10 提供点击计数功能, 同一IP点击多次无效. 11 提供简单搜索, 及...

    ASP在线发信程序(不使用Email组件)

    用ASP实现在线发信需要服务器提供Email组件 即NTS Collaboration Data Objects的...一行中看信密码1234为您的看信密码  在线发信/email/data/email.asp?email=biaodan  在线读信/email/data/email.asp?email=

    OVH-Email-Manager-Website:[已弃用]网站允许用户管理邮件帐户和更改密码(使用OVH API)

    该项目是一个网站,允许用户管理其OVH电子邮件帐户并更改其密码。 它使用 。 主要目标是允许用户管理个人电子邮件帐户,而无需访问完整的OVH买方帐户。 的确,OVH不能在不访问所有电子邮件帐户的情况下提供用于...

    免费友情链接系统 1.5多用户&nbsp;&nbsp;

    本程序功能:支持多用户申请EMAIL回复功能,支持用户修改,支持链接用户修改,支持超级用户修改删除所有用户链接,支持用户修改删除链接,提供密码忘记后自动发信到申请时的信箱,提供在线用户排名功能,同一IP多次进入,申请...

    花斑猪免费友情链接系统V1.5多用户版

    5 支持超级用户修改删除所有用户, 链接. 6 支持用户修改删除链接. 7 提供密码忘记后自动发信到申请时的信箱. 8 提供在线用户排名功能, 同一IP多次进入, 申请, 点击, 试图使人气指数提高是无效的. 9 提供自动分页...

    花斑猪免费友情链接系统V1.5多用户繁体中文版

    5 支持超级用户修改删除所有用户, 链接. 6 支持用户修改删除链接. 7 提供密码忘记后自动发信到申请时的信箱. 8 提供在线用户排名功能, 同一IP多次进入, 申请, 点击, 试图使人气指数提高是无效的. 9 提供自动分页...

    毕业设计:ASP+SQL同学录设计与实现(源代码)

    用户通过提交用户ID和用户密码进行登陆,系统便会根据这些登陆资料,辨别出用户的身份权限. 3.1.2 用户资料的修改:  成功登录的合法用户有权限修改自己的个人资料。这些资料包括用户的昵称,用户的联系电话,用户...

    django-cp-email-manager:它允许用户在没有控制面板访问凭据的情况下更改其电子邮件密码。它使用wcenter控制面板API更改密码

    wcenter电子邮件管理器描述它允许用户在没有控制面板访问凭据的情况下更改其电子邮件密码。它使用wcenter控制面板API更改密码。特征修改邮箱帐号密码安装请参阅。执照请参阅。

    毕业设计:ASP同学录设计(源代码)

    用户通过提交用户ID和用户密码进行登陆,系统便会根据这些登陆资料,辨别出用户的身份权限. 3.1.2 用户资料的修改:  成功登录的合法用户有权限修改自己的个人资料。这些资料包括用户的昵称,用户的联系电话,用户...

    随缘网络邮件订阅系统V1.2

    add_email.asp为增加用户的EMAIL,即订阅 del_email.asp为删除用户的EMAIL,即退订 chkemail.asp为检查用户的EMAIL地址是否有效 admin/login.html 为后台登陆页面。 用户名及密码:admin admin 为安全起见可以自己...

    ASP.NET+SQL学生成绩管理系统源码.zip

    用户密码修改:用户登录后可以修改自己的密码,对新的密码进行密码强度判断,密码至少是6位,强度至少要达到中才允许修改; 学生管理:实现查询、添加、修改、删除学生信息功能。查询可按学号、姓名或所在院系查询...

    python用户管理系统

    3.注销用户 用户注销时,需要输入用户名和正确的用户密码 4.显示用户信息 显示系统中存在所有已经注册用户的信息 5.退出系统 代码如下 #!/usr/bin/env python #coding:utf-8 info = """ ************************...

    QQ协议 ni de zxfx

    B: 已激活却忘记了密码的用户 通过回答问题新设密码 把新设密码的连接发到注册Email C: 已登录用户 注销登录 | 新设密码 | 修改提示问题与答案 | 修改注册邮箱 D: 注册条款 E: 帮助中心 ·建议意见以及错误反馈...

    asp实现办公OA 源代码

    19、密码管理:用户可实现密码自由修改;用户提交自己的email,实现密码与电子邮件的绑定。日后,用户忘记密码后,就可以只输入帐号,自主取回密码了。系统将自动把密码发送到先前绑定的email中。 20、排名服务:...

    在线短视频管理系统,框架 vs2019 + asp.net webform + sql server

    修改密码模块 数据库设计 数据库名: Users UserID RoleID(角色id) UserName(用户名) Sex(性别) Age(年龄) Pwd(密码) Email(邮箱) Roles UserID RoleID(角色id) UserName(用户名) Sex(性别) Age(年龄) Pwd(密码) ...

    在线短视频播客视频管理系统,框架 vs2019 + asp.net webform + sql server

    修改密码模块 数据库设计 数据库名: Users UserID RoleID(角色id) UserName(用户名) Sex(性别) Age(年龄) Pwd(密码) Email(邮箱) Roles UserID RoleID(角色id) UserName(用户名) Sex(性别) Age(年龄) Pwd(密码)...

    基于Java web SSH框架的飞机订票系统文档.doc

    (3)修改用户信息。用户登录后可以随时修改个人的注册信息。 (4)查询机票的发售情况。用户可以通过系统查询当前发售的有哪些机票可供自己选择。 (5)预订机票。用户找到需要的机票就可以在系统中进行预订。 (6)退票。...

    简易论坛jsp

    如果管理员认为帖子内容符合要求,可以点击“审核通过”来更改留言状态,使其在主页留言板显示: 主题为“圣诞”的帖子状态变为“通过” (2) 删除用户留言信息: 管理员可以在管理留言中对所有留言进行删除 ...

Global site tag (gtag.js) - Google Analytics