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
        }
Beispiel #2
0
        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
        }
Beispiel #5
0
        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}");
        }
Beispiel #6
0
 /// <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);
 }
Beispiel #7
0
        /// <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));
        }