`
JasonZhangYuJie
  • 浏览: 8692 次
  • 性别: 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);
                    }
                }


              
            }
        }


   
分享到:
评论

相关推荐

    用面向对象的思想实现:用户注册、登录、修改密码

    在用户管理系统中,我们可以创建一个`User`类,这个类封装了用户的属性,如用户名(username)、密码(password)以及可能的其他信息(如email、phone等)。这些属性应该是私有的(private),防止直接访问,通过...

    SQLite数据库 ,实现本地、登录、注册、 修改、注销账号、记住密码

    这通常通过生成一个长期有效的会话令牌(JWT或Cookie)来实现,存储在客户端,每次登录时,客户端携带此令牌,服务器通过验证令牌来确认用户身份,而不是每次都要求输入密码。 3. **账号注销**: - **账号删除**:...

    修改密码、找回密码1

    总结来说,修改和找回密码的功能涉及到用户验证、数据库操作和密码策略等核心要素。它确保了用户能够安全地管理自己的账户,同时也保护了系统的整体安全性。在设计这样的功能时,应注重用户体验,同时确保数据的安全...

    svn用户名和密码的配置

    3. **启动/重启svn服务**:添加或修改用户和权限后,需要重启svn服务使更改生效。对于svnserve,可以使用`svnserve -t`命令重启;如果是Apache HTTP Server,需要重启Apache服务。 4. **客户端配置**:在客户端,...

    Django1.6_利用Form实现注册登录注销修改密码

    Django提供了`PasswordChangeForm`用于修改密码,我们可以在视图中使用这个表单: ```python from django.contrib.auth import update_session_auth_hash from django.contrib.auth.forms import ...

    C# 利用QQ邮箱找回用户密码

    本文将详细介绍如何使用C#语言通过QQ邮箱找回用户密码,包括获得QQ授权码、设置第三方客户端、使用SMTP协议发送邮件的步骤和代码实现。 获得QQ授权码 在使用QQ邮箱找回用户密码之前,需要先获得QQ授权码。授权码是...

    注册用户找回密码

    - 在某些情况下,可以提供一个临时密码,并要求用户登录后更改。 3. **安全性考虑**:在实现找回密码功能时,必须注意保护用户的信息安全。例如,不要直接将密码通过邮件发送,而是发送一个重置密码的链接,这样...

    Hiber+Struts实现登陆和修改密码功能

    在IT行业中,开发Web应用程序时,常常需要实现用户登录和密码修改等基本功能。本教程将深入探讨如何利用Hibernate和Struts框架来构建这样的系统。Hibernate是一个强大的对象关系映射(ORM)工具,用于简化数据库操作...

    查看foxmail邮箱密码

    因此,当我们忘记密码时,需要通过服务提供商的官方网站来重置密码。以下是一般步骤: 1. 访问邮件服务提供商的官方网站:例如,如果您使用的是QQ邮箱,就去访问腾讯的网页版邮箱(mail.qq.com);如果是163邮箱,...

    MDB数据库实现账号密码登录更改等功能

    标题中的“MDB数据库实现账号密码登录更改等功能”指的是利用MDB(Microsoft Access Database)数据库来设计和实现用户账户系统的部分核心功能,包括用户登录、密码修改等。MDB是Microsoft Office套件中的Access...

    EmailClient

    电子邮件客户端(EmailClient)是一种应用程序,它允许用户发送、接收和管理他们的电子邮箱。这个特定的EmailClient似乎是一个完备的解决方案,但是它有一些特定的限制和兼容性问题。以下是关于电子邮件客户端、POP3...

    帮助您在env文件中设置主密码并使用该密码登录所有用户帐户

    4. 用户模型扩展:如果需要,您还可以扩展用户模型(`App\Models\User`),添加一个方法来检查主密码是否与当前用户的密码匹配。这样,即使主密码未在登录时使用,也可以在其他地方进行权限控制。 请注意,这种做法...

    ASP,NET中的用户修改删除源代码

    此外,用户密码应进行加密存储,避免敏感信息泄露。最后,记得在完成后进行充分的测试,包括单元测试和集成测试,确保所有功能正常且无错误。 总结来说,在ASP.NET中实现用户修改和删除功能涉及到数据库操作、前端...

    Android Email

    开发者可以创建自己的邮件应用,通过Content Provider接口与Email服务交互,提供独特的用户界面和功能。 8. **安全与加密** Android Email支持SSL/TLS加密,保证数据传输的安全性。开发者需要了解如何配置安全...

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

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

    用spry验证两次密码正确.asp

    这有助于防止恶意用户通过尝试多次错误密码来破解账户,同时也能避免用户因记错密码而无法登录的情况发生。 Spry提供了一种简单易用的方式来实现这个功能,特别是对于那些不太熟悉复杂JavaScript编程的Web开发者。 ...

    JSP实例修改用户资料

    ### JSP 实例:修改用户资料 #### 一、概述 本示例通过JSP页面实现用户资料的修改功能。具体来说,系统首先检查用户是否已登录(通过session中的`UserID`来验证)。若用户已登录,则从数据库中读取该用户的资料并...

    sniffpass网络密码嗅探(WebFTPEmail)工具

    正确理解和修改这些配置可以帮助用户定制工具的行为,以满足特定需求。 总之,SniffPass是一个强大的密码嗅探工具,对于理解网络流量和提高网络安全意识具有重要意义。然而,使用此类工具时必须谨慎,遵循法规,并...

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

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

    JSP找回密码

    在Mssql数据库中,我们需要一个用户表,例如`users`,包含字段如`username`(用户名)、`email`(邮箱)、`password`(密码,加密存储)等。找回密码时,用户输入的邮箱应与数据库中的邮箱匹配。 4. **找回密码...

Global site tag (gtag.js) - Google Analytics