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),防止直接访问,通过...
这通常通过生成一个长期有效的会话令牌(JWT或Cookie)来实现,存储在客户端,每次登录时,客户端携带此令牌,服务器通过验证令牌来确认用户身份,而不是每次都要求输入密码。 3. **账号注销**: - **账号删除**:...
总结来说,修改和找回密码的功能涉及到用户验证、数据库操作和密码策略等核心要素。它确保了用户能够安全地管理自己的账户,同时也保护了系统的整体安全性。在设计这样的功能时,应注重用户体验,同时确保数据的安全...
3. **启动/重启svn服务**:添加或修改用户和权限后,需要重启svn服务使更改生效。对于svnserve,可以使用`svnserve -t`命令重启;如果是Apache HTTP Server,需要重启Apache服务。 4. **客户端配置**:在客户端,...
Django提供了`PasswordChangeForm`用于修改密码,我们可以在视图中使用这个表单: ```python from django.contrib.auth import update_session_auth_hash from django.contrib.auth.forms import ...
本文将详细介绍如何使用C#语言通过QQ邮箱找回用户密码,包括获得QQ授权码、设置第三方客户端、使用SMTP协议发送邮件的步骤和代码实现。 获得QQ授权码 在使用QQ邮箱找回用户密码之前,需要先获得QQ授权码。授权码是...
- 在某些情况下,可以提供一个临时密码,并要求用户登录后更改。 3. **安全性考虑**:在实现找回密码功能时,必须注意保护用户的信息安全。例如,不要直接将密码通过邮件发送,而是发送一个重置密码的链接,这样...
在IT行业中,开发Web应用程序时,常常需要实现用户登录和密码修改等基本功能。本教程将深入探讨如何利用Hibernate和Struts框架来构建这样的系统。Hibernate是一个强大的对象关系映射(ORM)工具,用于简化数据库操作...
因此,当我们忘记密码时,需要通过服务提供商的官方网站来重置密码。以下是一般步骤: 1. 访问邮件服务提供商的官方网站:例如,如果您使用的是QQ邮箱,就去访问腾讯的网页版邮箱(mail.qq.com);如果是163邮箱,...
标题中的“MDB数据库实现账号密码登录更改等功能”指的是利用MDB(Microsoft Access Database)数据库来设计和实现用户账户系统的部分核心功能,包括用户登录、密码修改等。MDB是Microsoft Office套件中的Access...
电子邮件客户端(EmailClient)是一种应用程序,它允许用户发送、接收和管理他们的电子邮箱。这个特定的EmailClient似乎是一个完备的解决方案,但是它有一些特定的限制和兼容性问题。以下是关于电子邮件客户端、POP3...
4. 用户模型扩展:如果需要,您还可以扩展用户模型(`App\Models\User`),添加一个方法来检查主密码是否与当前用户的密码匹配。这样,即使主密码未在登录时使用,也可以在其他地方进行权限控制。 请注意,这种做法...
此外,用户密码应进行加密存储,避免敏感信息泄露。最后,记得在完成后进行充分的测试,包括单元测试和集成测试,确保所有功能正常且无错误。 总结来说,在ASP.NET中实现用户修改和删除功能涉及到数据库操作、前端...
开发者可以创建自己的邮件应用,通过Content Provider接口与Email服务交互,提供独特的用户界面和功能。 8. **安全与加密** Android Email支持SSL/TLS加密,保证数据传输的安全性。开发者需要了解如何配置安全...
之前也有很多教程教你如何解决这个问题,解决方法是修改WordPress的源文件,让用户注册后直接给他显示密码,而不是给他发送Email,这样问题是解决了,但是每次WordPress升级后,又要重新修改,以现在WordPress的升级...
这有助于防止恶意用户通过尝试多次错误密码来破解账户,同时也能避免用户因记错密码而无法登录的情况发生。 Spry提供了一种简单易用的方式来实现这个功能,特别是对于那些不太熟悉复杂JavaScript编程的Web开发者。 ...
### JSP 实例:修改用户资料 #### 一、概述 本示例通过JSP页面实现用户资料的修改功能。具体来说,系统首先检查用户是否已登录(通过session中的`UserID`来验证)。若用户已登录,则从数据库中读取该用户的资料并...
正确理解和修改这些配置可以帮助用户定制工具的行为,以满足特定需求。 总之,SniffPass是一个强大的密码嗅探工具,对于理解网络流量和提高网络安全意识具有重要意义。然而,使用此类工具时必须谨慎,遵循法规,并...
Email.App Java实践-一个简单的应用程序,可以根据用户输入生成电子邮件地址和密码电子邮件应用方案:您是IT支持管理员专家,负责为新员工创建电子邮件帐户。 您的应用程序应执行以下操作:使用以下语法生成电子...
在Mssql数据库中,我们需要一个用户表,例如`users`,包含字段如`username`(用户名)、`email`(邮箱)、`password`(密码,加密存储)等。找回密码时,用户输入的邮箱应与数据库中的邮箱匹配。 4. **找回密码...