public void SendEmail(string uidlist) { #region 向指定的通过审核的用户发送邮件 //foreach (DataRow dr in DbHelper.ExecuteDataset("SELECT [username],[password],[email] FROM [" + BaseConfigs.GetTablePrefix + "users] WHERE [uid] IN(" + uidlist + ")").Tables[0].Rows) foreach (DataRow dr in DatabaseProvider.GetInstance().GetUserEmailByUidlist(uidlist).Rows) { Emails.DiscuzSmtpMail(dr["username"].ToString().Trim(), dr["email"].ToString().Trim(), ""); } #endregion }
public string SendEmail(string emailaddress) { #region 发送邮件 bool send = Emails.DiscuzSmtpMail(userName.Text, emailaddress, password.Text); if (send) { return("您的密码已经成功发送到您的E-mail中, 请注意查收!"); } return("但发送邮件错误, 请您重新取回密码!"); #endregion }
public void SendEmail() { #region 向所有通过审核的用户发送邮件 //foreach (DataRow dr in DbHelper.ExecuteDataset("SELECT [username],[password],[email] FROM [" + BaseConfigs.GetTablePrefix + "users] WHERE [groupid]=8").Tables[0].Rows) foreach (DataRow dr in DatabaseProvider.GetInstance().GetAuditUserEmail().Rows) { Emails.DiscuzSmtpMail(dr["username"].ToString().Trim(), dr["email"].ToString().Trim(), dr["password"].ToString().Trim()); } #endregion }
private void ReSendEmail_Click(object sender, EventArgs e) { #region 发送EMAIL string authstr = ForumUtils.CreateAuthStr(20); Emails.DiscuzSmtpMail(userName.Text, email.Text, "", authstr); string uid = DNTRequest.GetString("uid"); //DbHelper.ExecuteNonQuery("UPDATE [" + BaseConfigs.GetTablePrefix + "userfields] SET [Authstr]='" + authstr + "' , [Authtime]='" + DateTime.Now.ToString() + "' ,[Authflag]=1 WHERE [uid]=" + uid); Users.UpdateEmailValidateInfo(authstr, DateTime.Now, int.Parse(uid)); base.RegisterStartupScript("PAGE", "window.location.href='global_edituser.aspx?uid=" + uid + "&condition=" + DNTRequest.GetString("condition") + "';"); #endregion }
private void ResetEmail() { int uid = DNTRequest.GetInt("uid", -1); if (uid <= 0) { ResponseText("{'text':'非法请求','code':0}"); return; } string newEmail = DNTRequest.GetString("newemail"); if (!Utils.IsValidEmail(newEmail)) { ResponseText("{'text':'E-mail格式不正确','code':0}"); return; } UserInfo userInfo = Users.GetUserInfo(uid); if (Utils.MD5(string.Concat(userInfo.Password, config.Passwordkey, DNTRequest.GetString("ts"))) != DNTRequest.GetString("auth")) { ResponseText("{'text':'非法请求','code':0}"); return; } //如果接收到的时间戳是在两分钟之前的,则证明该操作已经超过了操作时限 if (long.Parse(DNTRequest.GetString("ts")) < DateTime.Now.AddMinutes(-2).Ticks) { ResponseText("{'text':'该操作已经超过了时限,无法执行','code':0}"); return; } if (userInfo.Groupid != 8) { ResponseText("{'text':'该用户不是等待验证的用户','code':0}"); return; } if (userInfo.Email != newEmail) { if (!Users.ValidateEmail(newEmail, uid)) { ResponseText("{'text':'Email: \"" + newEmail + "\" 已经被其它用户注册使用','code':0}"); return; } userInfo.Email = newEmail; Users.UpdateUserProfile(userInfo); } Emails.DiscuzSmtpMail(userInfo.Username, newEmail, string.Empty, userInfo.Authstr); ResponseText("{'text':'验证邮件已经重新发送到您指定的E-mail地址当中','code':1}"); }
/// <summary> /// 发送邮件 /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <param name="emailaddress"></param> /// <param name="authstr"></param> private void SendEmail(string username, string password, string emailaddress, string authstr) { Emails.DiscuzSmtpMail(username, emailaddress, password, authstr); }
/// <summary> /// 注册用户 /// </summary> /// <returns></returns> public string Register() { string returnStr = string.Empty; if (Signature != GetParam("sig").ToString()) { ErrorCode = (int)ErrorType.API_EC_SIGNATURE; return(returnStr); } if (CallId <= LastCallId) { ErrorCode = (int)ErrorType.API_EC_CALLID; return(returnStr); } if (!CheckRequiredParams("user_name,password,email")) { ErrorCode = (int)ErrorType.API_EC_PARAM; return(returnStr); } if (this.App.ApplicationType == (int)ApplicationType.DESKTOP)//如果是桌面程序则不允许此方法 { if (Uid < 1 || Discuz.Forum.UserGroups.GetUserGroupInfo(Discuz.Forum.Users.GetShortUserInfo(Uid).Groupid).Radminid != 1) { ErrorCode = (int)ErrorType.API_EC_PERMISSION_DENIED; return(""); } } else if (Uid > 0)//已经登录的用户不能再注册 { ErrorCode = (int)ErrorType.API_EC_USER_ONLINE; return(returnStr); } string username = GetParam("user_name").ToString(); string password = GetParam("password").ToString(); string email = GetParam("email").ToString(); bool isMD5Passwd = GetParam("password_format") != null && GetParam("password_format").ToString() == "md5" ? true : false; //用户名不符合规范 if (!CheckUsername(username)) { ErrorCode = (int)ErrorType.API_EC_USERNAME_ILLEGAL; return(returnStr); } if (Discuz.Forum.Users.GetUserId(username) != 0)//如果用户名符合注册规则, 则判断是否已存在 { ErrorCode = (int)ErrorType.API_EC_USER_ALREADY_EXIST; return(returnStr); } if (!isMD5Passwd && password.Length < 6) { ErrorCode = (int)ErrorType.API_EC_PARAM; return(returnStr); } if (!CheckEmail(email)) { ErrorCode = (int)ErrorType.API_EC_EMAIL; return(returnStr); } UserInfo userInfo = new UserInfo(); userInfo.Username = username; userInfo.Nickname = string.Empty; userInfo.Password = isMD5Passwd ? password : Utils.MD5(password); userInfo.Secques = string.Empty; userInfo.Gender = 0; userInfo.Adminid = 0; userInfo.Groupexpiry = 0; userInfo.Extgroupids = ""; userInfo.Regip = DNTRequest.GetIP(); userInfo.Joindate = Utils.GetDateTime(); userInfo.Lastip = DNTRequest.GetIP(); userInfo.Lastvisit = Utils.GetDateTime(); userInfo.Lastactivity = Utils.GetDateTime(); userInfo.Lastpost = Utils.GetDateTime(); userInfo.Lastpostid = 0; userInfo.Lastposttitle = ""; userInfo.Posts = 0; userInfo.Digestposts = 0; userInfo.Oltime = 0; userInfo.Pageviews = 0; userInfo.Credits = 0; userInfo.Extcredits1 = Scoresets.GetScoreSet(1).Init; userInfo.Extcredits2 = Scoresets.GetScoreSet(2).Init; userInfo.Extcredits3 = Scoresets.GetScoreSet(3).Init; userInfo.Extcredits4 = Scoresets.GetScoreSet(4).Init; userInfo.Extcredits5 = Scoresets.GetScoreSet(5).Init; userInfo.Extcredits6 = Scoresets.GetScoreSet(6).Init; userInfo.Extcredits7 = Scoresets.GetScoreSet(7).Init; userInfo.Extcredits8 = Scoresets.GetScoreSet(8).Init; userInfo.Email = email; userInfo.Bday = string.Empty; userInfo.Sigstatus = 0; userInfo.Tpp = 0; userInfo.Ppp = 0; userInfo.Templateid = 0; userInfo.Pmsound = 0; userInfo.Showemail = 0; userInfo.Salt = "0"; int receivepmsetting = Config.Regadvance == 0 ? 7 : 1; userInfo.Newsletter = (ReceivePMSettingType)receivepmsetting; userInfo.Invisible = 0; userInfo.Newpm = Config.Welcomemsg == 1 ? 1 : 0; userInfo.Medals = ""; userInfo.Accessmasks = 0; userInfo.Website = string.Empty; userInfo.Icq = string.Empty; userInfo.Qq = string.Empty; userInfo.Yahoo = string.Empty; userInfo.Msn = string.Empty; userInfo.Skype = string.Empty; userInfo.Location = string.Empty; userInfo.Customstatus = string.Empty; userInfo.Bio = string.Empty; userInfo.Signature = string.Empty; userInfo.Sightml = string.Empty; userInfo.Authtime = Utils.GetDateTime(); //邮箱激活链接验证 if (Config.Regverify == 1) { userInfo.Authstr = ForumUtils.CreateAuthStr(20); userInfo.Authflag = 1; userInfo.Groupid = 8; Emails.DiscuzSmtpMail(username, email, string.Empty, userInfo.Authstr); } //系统管理员进行后台验证 else if (Config.Regverify == 2) { userInfo.Authstr = string.Empty; userInfo.Groupid = 8; userInfo.Authflag = 1; } else { userInfo.Authstr = ""; userInfo.Authflag = 0; userInfo.Groupid = UserCredits.GetCreditsUserGroupId(0).Groupid; } userInfo.Realname = string.Empty; userInfo.Idcard = string.Empty; userInfo.Mobile = string.Empty; userInfo.Phone = string.Empty; if (Config.Passwordmode > 1 && PasswordModeProvider.GetInstance() != null) { userInfo.Uid = PasswordModeProvider.GetInstance().CreateUserInfo(userInfo); } else { userInfo.Uid = Discuz.Forum.Users.CreateUser(userInfo); } if (Config.Welcomemsg == 1) { PrivateMessageInfo privatemessageinfo = new PrivateMessageInfo(); // 收件箱 privatemessageinfo.Message = Config.Welcomemsgtxt; privatemessageinfo.Subject = "欢迎您的加入! (请勿回复本信息)"; privatemessageinfo.Msgto = userInfo.Username; privatemessageinfo.Msgtoid = userInfo.Uid; privatemessageinfo.Msgfrom = PrivateMessages.SystemUserName; privatemessageinfo.Msgfromid = 0; privatemessageinfo.New = 1; privatemessageinfo.Postdatetime = Utils.GetDateTime(); privatemessageinfo.Folder = 0; PrivateMessages.CreatePrivateMessage(privatemessageinfo, 0); } Statistics.ReSetStatisticsCache(); //信息同步通知不会发向当前请求接口的应用程序,所以此处应保留,以支持论坛向其他关联应用程序发送通知 Sync.UserRegister(userInfo.Uid, userInfo.Username, userInfo.Password, ApiKey); UserCredits.UpdateUserCredits(userInfo.Uid); if (Format == FormatType.JSON) { return(string.Format("\"{0}\"", userInfo.Uid)); } RegisterResponse rr = new RegisterResponse(); rr.Uid = userInfo.Uid; return(SerializationHelper.Serialize(rr)); }