📄 memberfindpassword.ascx.cs
字号:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using DNNLite.Entites.Modules;
using Ader.TemplateEngine;
using DNNLite.Comm;
using System.Net.Mail;
public partial class admin_Portal_Member_MemberFindPassword : TempletPortalModuleBase ,IPostBackEventHandler
{
private string msg = string.Empty;
private bool success = false;
protected void Page_Load(object sender, EventArgs e)
{
}
protected override void SetValues(IDictionary<string, object> bag)
{
bag.Add("msg", msg);
bag.Add("eventsource", this.UniqueID);
bag.Add("username", ClientID + "username");
bag.Add("email", ClientID + "email");
bag.Add("imagecode", ClientID + "imagecode");
}
protected override string TemplateFile
{
get
{
if (!success)
{
return "~/Templets/Member/FindPwd.htm";
}
else
{
return "~/Templets/Member/FindPwdSuccess.htm";
}
}
}
private void FindPwd()
{
string username = Request[ClientID + "username"];
string email = Request[ClientID + "email"];
string imagecode = Request[ClientID + "imagecode"];
if (imagecode == null || Session["CheckCode"] == null || imagecode.ToUpper() != Session["CheckCode"].ToString().ToUpper())
{
msg = "验证码错误!";
return;
}
Session["CheckCode"] = "";
MembershipUser user = Membership.GetUser(username);
if (user == null)
{
msg = "没有找到用户";
return;
}
if (user.Email != email)
{
msg = "您输入了错误的邮件地址";
return;
}
string newpassword= ((DNNLiteMemberShipProvider )Membership.Provider).GeneratePassword() ;
try
{
SmtpClient client = new SmtpClient(Comm.PortalInfo.SMTPADDR,Comm.PortalInfo.SMTPPort );
//client.EnableSsl = false;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Credentials = new System.Net.NetworkCredential( Comm.PortalInfo.SMTPUser
, Comm.PortalInfo.SMTPPassword );
MailMessage m = new MailMessage();
m.Priority = MailPriority.High;
m.From = new MailAddress( Comm.PortalInfo.SiteEmail );
m.To.Add(new MailAddress( user.Email ));
m.IsBodyHtml = true;
//m.Body = "<h1>发罗发罗</h1>"+ newpassword ;
m.Subject = "您在" +Comm.PortalInfo.PortalName +"找回密码" ;
m.BodyEncoding = System.Text.Encoding.UTF8 ;
m.SubjectEncoding = System.Text.Encoding.UTF8;
TemplateManager tm = TemplateManager.FromFile(Server.MapPath("~/Templets/Member/PassWordMail.htm"));
tm.SetValue("username", user.UserName );
tm.SetValue("loginurl", "");
tm.SetValue("password", newpassword);
m.Body = tm.Process();
m.Headers.Add("charset", "utf-8");
client.Send(m);
msg = "您的邮件已发送!";
}
catch (Exception ex)
{
msg = "不能给您的邮箱发送邮件\n"+ ex.Message ;
return;
}
try
{
lock (Membership.Provider)
{
try
{
((DNNLiteMemberShipProvider)Membership.Provider).SpecifyPassword =
delegate() { return newpassword ; };
Membership.Provider.ResetPassword( user.UserName , "");
}
catch (Exception ex)
{
((DNNLiteMemberShipProvider)Membership.Provider).SpecifyPassword = null;
throw ex;
}
}
}
catch (Exception ex)
{
msg = ex.Message;
return;
}
success = true;
}
#region IPostBackEventHandler 成员
public void RaisePostBackEvent(string eventArgument)
{
FindPwd();
}
#endregion
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -