コード例 #1
0
        /// <summary>
        /// 获取激活码 (邮件发送成功 默认跳转到激活页面)
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="mail">邮箱地址</param>
        /// <returns></returns>
        public bool GetActivate(out JSData jsdata)
        {
            var json = new Common.CustomModel.JSData();

            #region 1.验证是否正常途径访问获取激活码 方法
            if (null == Session[tempUserinfo])
            {
                json.State = EnumState.失败; //json.Messg = "请您通过正常途径访问激活页面~";
                json.JSurl = "/";
                jsdata     = json;
                return(false);
            }
            #endregion

            Session[jihuoma] = new Random().Next(999999999).ToString();

            #region 2.发送邮件 如果邮件发送成功    默认跳转到 激活页面
            Helper.EmailHelper email = new Helper.EmailHelper()
            {
                mailPwd     = s_mailPwd,
                host        = s_host,
                mailFrom    = s_mailFrom,
                mailSubject = "[嗨-博客]激活码",
                mailBody    = "欢迎激活 “嗨-博客”</br></br>您注册的的帐号:" + ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserName +
                              " 激活码:" + Session[jihuoma].ToString(),
                mailToArray = new string[] { ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserMail }
            };

            try
            {
                email.Send();
                json.State = EnumState.正常重定向;
                json.Messg = "激活码已经发送邮箱~请注意查收~";
                json.JSurl = "/UserManage/Activate";
                jsdata     = json;
                return(true);
            }
            catch (Exception ex)
            {
                json.State = EnumState.失败;
                json.Messg = ex.Message;
                jsdata     = json;
                return(false);
            }

            #endregion
        }
コード例 #2
0
        public string ProceedWithPay(string tokenId)
        {
            var isSuceed = Helper.StripePayHelper.PerformStripeCharge(tokenId, 2000);

            if (isSuceed)
            {
                //Send Simple Email

                var sampleEmailBody = @"
                <h3>Thankyou for payment.</h3>
                <p>Vivamus et pellentesque velit. Morbi nec nisl at tellus placerat finibus. Pellentesque cursus id dui a dictum. Maecenas at augue sollicitudin, condimentum metus eu, sagittis arcu. Proin quis elit ac neque tincidunt egestas a eget enim. Aliquam a augue faucibus, gravida dui eget, semper ipsum. Mauris et luctus nunc. Cras pretium lorem et erat egestas sagittis.</p>
                <p>Cras placerat a enim et malesuada. Suspendisse eu sapien ultricies, commodo nulla quis, pharetra metus. Proin tempor eros id dui malesuada malesuada. Vivamus at tempus elit. Aliquam erat volutpat. Donec ultricies tortor tortor, ac aliquam diam pretium dignissim. Sed lobortis libero sed neque luctus, quis pellentesque nulla aliquet. Aliquam a nisi lobortis orci pretium tincidunt. Donec ac erat eget massa volutpat ornare ut id nunc.</p>
                <p>&nbsp;</p>
                <p><strong>-Best Regards,<br/>Sender Name</strong></p>
                ";

                var oSimpleEmail = new Helper.EmailHelper("*****@*****.**", "Payment successful.", sampleEmailBody);
                oSimpleEmail.SendMessage();
            }

            return(isSuceed ? "succeed" : "failed");
        }
コード例 #3
0
        public string Activate()
        {
            var json = new Common.CustomModel.JSData();

            #region 1.判断是否从正常途径访问此页面 如果是的话 默认存在 Session[tempUserinfo]  2.如果是已经登录状态则直接无视 跳转

            if (null == Session[tempUserinfo])
            {
                json.State = EnumState.失败;//json.Messg = "请您通过正常途径访问激活页面~";
                json.JSurl = "/";
                return json.ToJson();
            }
            if (BLLSession.UserInfoSessioin != null && !BLLSession.UserInfoSessioin.IsLock)
            {
                json.State = EnumState.失败; //json.Messg = "您都已经登录的还想获取激活码?别玩了~";
                json.JSurl = "/";
                return json.ToJson();
            }
            #endregion

            var tempuser = ((ModelDB.BlogUsersSet)Session[tempUserinfo]);
            var activate = Request.Form["txt_activate"];//激活码

            #region 2.验证激活码  (更新缓存 发送通知邮件 清空无用session)
            if (activate.Trim() == Session[jihuoma].ToString().Trim()) //验证激活码
            {
                BLL.BlogUsersSetBLL user = new BLL.BlogUsersSetBLL();
                var objuser = user.GetList(t => t.Id == tempuser.Id, isAsNoTracking: false).FirstOrDefault();
                if (null != objuser)
                {
                    objuser.IsLock = false;
                    objuser.UserPass = tempuser.UserPass.MD5().MD5();//【】这里有个小BUG 暂未处理(如果是迁移的用户 这第一次登录需要激活密码)
                    objuser.UserMail = tempuser.UserMail;
                }
                user.save();
                #region bug 记录
                //ModelDB.BlogUsers objuser = new ModelDB.BlogUsers();
                //objuser.Id = id;
                //objuser.IsLock = false;
                // user.Up(objuser, "IsLock");  //这个方法 正常情况用没问题,如果先添加   然后修改就有问题  (不能用)
                #endregion
                bool islock = BLL.Common.CacheData.GetAllUserInfo(true).Where(t => t.Id == tempuser.Id).FirstOrDefault().IsLock;
                if (!islock)
                {
                    #region 发送邮件 告知 激活成功
                    Helper.EmailHelper email = new Helper.EmailHelper()
                       {
                           mailPwd = s_mailPwd,
                           host = s_host,
                           mailFrom = s_mailFrom,
                           mailSubject = "欢迎您注册 嗨-博客",
                           mailBody = objuser.UserNickname + " 您好!欢迎注册 嗨-博客</br></br>" +
                           "您注册的的帐号:" + objuser.UserName +
                               //"   密码是:" + objuser.UserPass +
                           "</br></br>" +
                           "请您妥善保管~",
                           mailToArray = new string[] { ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserMail }
                       };

                    try
                    { email.Send(); }
                    catch (Exception)
                    { }
                    #endregion

                    Session[jihuoma] = null;
                    Session[tempUserinfo] = null;

                    BLLSession.UserInfoSessioin = objuser;
                    return new JSData()
                    {
                        Messg = "恭喜您~激活成功~",
                        State = EnumState.正常重定向,
                        JSurl = "/"
                    }.ToJson();
                }
                else
                {
                    return new JSData()
                    {
                        Messg = "激活失败,请联系管理员~",
                        State = EnumState.失败
                    }.ToJson();
                }
            }
            #endregion

            return new JSData()
            {
                Messg = "您输入的激活码错误,你可以重新激活~",
                State = EnumState.失败
            }.ToJson();
        }
コード例 #4
0
        /// <summary>
        /// 获取激活码 (邮件发送成功 默认跳转到激活页面)
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="mail">邮箱地址</param>
        /// <returns></returns>
        public bool GetActivate(out JSData jsdata)
        {
            var json = new Common.CustomModel.JSData();

            #region 1.验证是否正常途径访问获取激活码 方法
            if (null == Session[tempUserinfo])
            {
                json.State = EnumState.失败; //json.Messg = "请您通过正常途径访问激活页面~";
                json.JSurl = "/";
                jsdata = json;
                return false;
            }
            #endregion

            Session[jihuoma] = new Random().Next(999999999).ToString();

            #region 2.发送邮件 如果邮件发送成功    默认跳转到 激活页面
            Helper.EmailHelper email = new Helper.EmailHelper()
            {
                mailPwd = s_mailPwd,
                host = s_host,
                mailFrom = s_mailFrom,
                mailSubject = "[嗨-博客]激活码",
                mailBody = "欢迎激活 “嗨-博客”</br></br>您注册的的帐号:" + ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserName +
                " 激活码:" + Session[jihuoma].ToString(),
                mailToArray = new string[] { ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserMail }
            };

            try
            {
                email.Send();
                json.State = EnumState.正常重定向;
                json.Messg = "激活码已经发送邮箱~请注意查收~";
                json.JSurl = "/UserManage/Activate";
                jsdata = json;
                return true;
            }
            catch (Exception ex)
            {
                json.State = EnumState.失败;
                json.Messg = ex.Message;
                jsdata = json;
                return false;
            }

            #endregion
        }
コード例 #5
0
        public string Activate()
        {
            var json = new Common.CustomModel.JSData();

            #region 1.判断是否从正常途径访问此页面 如果是的话 默认存在 Session[tempUserinfo]  2.如果是已经登录状态则直接无视 跳转

            if (null == Session[tempUserinfo])
            {
                json.State = EnumState.失败;//json.Messg = "请您通过正常途径访问激活页面~";
                json.JSurl = "/";
                return(json.ToJson());
            }
            if (BLLSession.UserInfoSessioin != null && !BLLSession.UserInfoSessioin.IsLock)
            {
                json.State = EnumState.失败; //json.Messg = "您都已经登录的还想获取激活码?别玩了~";
                json.JSurl = "/";
                return(json.ToJson());
            }
            #endregion

            var tempuser = ((ModelDB.BlogUsersSet)Session[tempUserinfo]);
            var activate = Request.Form["txt_activate"];//激活码

            #region 2.验证激活码  (更新缓存 发送通知邮件 清空无用session)
            if (activate.Trim() == Session[jihuoma].ToString().Trim()) //验证激活码
            {
                BLL.BlogUsersSetBLL user = new BLL.BlogUsersSetBLL();
                var objuser = user.GetList(t => t.Id == tempuser.Id, isAsNoTracking: false).FirstOrDefault();
                if (null != objuser)
                {
                    objuser.IsLock   = false;
                    objuser.UserPass = tempuser.UserPass.MD5().MD5();//【】这里有个小BUG 暂未处理(如果是迁移的用户 这第一次登录需要激活密码)
                    objuser.UserMail = tempuser.UserMail;
                }
                user.save();
                #region bug 记录
                //ModelDB.BlogUsers objuser = new ModelDB.BlogUsers();
                //objuser.Id = id;
                //objuser.IsLock = false;
                // user.Up(objuser, "IsLock");  //这个方法 正常情况用没问题,如果先添加   然后修改就有问题  (不能用)
                #endregion
                bool islock = BLL.Common.CacheData.GetAllUserInfo(true).Where(t => t.Id == tempuser.Id).FirstOrDefault().IsLock;
                if (!islock)
                {
                    #region 发送邮件 告知 激活成功
                    Helper.EmailHelper email = new Helper.EmailHelper()
                    {
                        mailPwd     = s_mailPwd,
                        host        = s_host,
                        mailFrom    = s_mailFrom,
                        mailSubject = "欢迎您注册 嗨-博客",
                        mailBody    = objuser.UserNickname + " 您好!欢迎注册 嗨-博客</br></br>" +
                                      "您注册的的帐号:" + objuser.UserName +
                                      //"   密码是:" + objuser.UserPass +
                                      "</br></br>" +
                                      "请您妥善保管~",
                        mailToArray = new string[] { ((ModelDB.BlogUsersSet)Session[tempUserinfo]).UserMail }
                    };

                    try
                    { email.Send(); }
                    catch (Exception)
                    { }
                    #endregion

                    Session[jihuoma]      = null;
                    Session[tempUserinfo] = null;

                    BLLSession.UserInfoSessioin = objuser;
                    return(new JSData()
                    {
                        Messg = "恭喜您~激活成功~",
                        State = EnumState.正常重定向,
                        JSurl = "/"
                    }.ToJson());
                }
                else
                {
                    return(new JSData()
                    {
                        Messg = "激活失败,请联系管理员~",
                        State = EnumState.失败
                    }.ToJson());
                }
            }
            #endregion

            return(new JSData()
            {
                Messg = "您输入的激活码错误,你可以重新激活~",
                State = EnumState.失败
            }.ToJson());
        }
コード例 #6
0
        /// <summary>
        /// 获取激活码 (邮件发送成功 默认跳转到激活页面)
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="mail">邮箱地址</param>
        /// <returns></returns>
        public bool GetActivate(ref JSData jsdata)
        {
            //验证是否正常途径访问获取激活码 方法
            if (null == Session[tempUserinfo])
            {
                jsdata.State = EnumState.失败; //json.Messg = "请您通过正常途径访问激活页面~";
                jsdata.JSurl = "/";
                return(false);
            }

            #region 频繁获取验证处理
            if (Session["GetActivateTime"] == null)
            {
                Session["GetActivateTime"] = DateTime.Now;
            }
            if (Convert.ToDateTime(Session["GetActivateTime"]) > DateTime.Now)
            {
                jsdata.State = EnumState.失败;
                jsdata.Messg = "您获取激活码太过频繁,请15秒后再尝试。";
                LogSave.WarnLogSave("IP:" + RequestHelper.GetIp() + "\r\n获取激活码频繁", "获取激活码频繁");
                return(false);
            }
            Session["GetActivateTime"] = DateTime.Now.AddSeconds(15);//设置时间
            #endregion

            //session记录激活码
            Session[jihuoma] = new Random().Next(999999999).ToString();

            #region 发送邮件 如果邮件发送成功    默认跳转到 激活页面

            var tempSessionUser      = (BlogUser)Session[tempUserinfo];
            var nickName             = string.IsNullOrEmpty(tempSessionUser.UserNickname) ? tempSessionUser.UserName : tempSessionUser.UserName;
            Helper.EmailHelper email = new Helper.EmailHelper()
            {
                mailPwd     = s_mailPwd,
                host        = s_host,
                mailFrom    = s_mailFrom,
                mailSubject = "[嗨-博客]激活码",
                mailBody    = EmailHelper.tempBody(nickName, " 激活码:" + Session[jihuoma].ToString()),
                mailToArray = new string[] { tempSessionUser.UserMail }
            };

            try
            {
                email.Send(t =>
                {
                    LogSave.TrackLogSave("IP:" + RequestHelper.GetIp() + "\r\nToMail:" + tempSessionUser.UserMail + "\r\nBody:" + t.Body, "发送成功的邮件");
                }, t =>
                {
                    LogSave.TrackLogSave("IP:" + RequestHelper.GetIp() + "\r\nToMail:" + tempSessionUser.UserMail + "\r\nBody:" + t.Body, "发送失败的邮件");
                }
                           );
                jsdata.State = EnumState.正常重定向;
                jsdata.Messg = "激活码已经发送邮箱~请注意查收~";
                jsdata.JSurl = "/UserManage/Activate";
                return(true);
            }
            catch (Exception ex)
            {
                jsdata.State = EnumState.失败;
                jsdata.Messg = ex.Message;
                return(false);
            }

            #endregion
        }
コード例 #7
0
        /// <summary>
        /// 激活 (实际上是验证激活码后  修改用户信息:包括是否激活IsLock、邮箱地址、密码 )
        /// </summary>
        /// <returns></returns>
        public string Activate()
        {
            var json = new JSData();

            #region 1.判断是否从正常途径访问此页面 如果是的话 默认存在 Session[tempUserinfo]  2.如果是已经登录状态则直接无视 跳转

            if (null == Session[tempUserinfo])
            {
                json.State = EnumState.失败;//json.Messg = "请您通过正常途径访问激活页面~";
                json.JSurl = "/";
                return(json.ToJson());
            }
            if (BLLSession.UserInfoSessioin != null && !BLLSession.UserInfoSessioin.IsLock)
            {
                json.State = EnumState.失败; //json.Messg = "您都已经登录的还想获取激活码?别玩了~";
                json.JSurl = "/";
                return(json.ToJson());
            }
            #endregion

            var tempuser = ((BlogUser)HttpContext.Current.Session[tempUserinfo]);
            var activate = HttpContext.Current.Request.Form["txt_activate"];//激活码

            #region 2.验证激活码  (更新缓存 发送通知邮件 清空无用session)
            if (activate.Trim() == Session[jihuoma].ToString().Trim()) //验证激活码
            {
                BLL.BaseBLL <BlogUser> user = new BLL.BaseBLL <BlogUser>();
                var objuser          = user.GetList(t => t.Id == tempuser.Id, isAsNoTracking: false).FirstOrDefault();
                var isEffectiveEmail = !string.IsNullOrEmpty(objuser.UserMail) && objuser.UserMail != "无效";//是否是有效邮箱(迁移用户是无效邮箱)
                if (null != objuser)
                {
                    objuser.IsLock   = false;
                    objuser.UserPass = isEffectiveEmail ? tempuser.UserPass.MD5().MD5() : defaulPass.MD5().MD5();
                    objuser.UserMail = tempuser.UserMail;
                    if (objuser.BlogUserInfo == null)
                    {
                        objuser.BlogUserInfo = new BlogUserInfo()
                        {
                            BlogUpNum = 0
                        };
                    }
                }
                user.save();
                #region bug 记录
                //BlogUsers objuser = new BlogUsers();
                //objuser.Id = id;
                //objuser.IsLock = false;
                // user.Up(objuser, "IsLock");  //这个方法 正常情况用没问题,如果先添加   然后修改就有问题  (不能用)
                #endregion
                bool islock = GetDataHelper.GetAllUser().Where(t => t.Id == tempuser.Id).FirstOrDefault().IsLock;
                if (!islock)
                {
                    #region 发送邮件 告知 激活成功

                    var tempSessionUser      = (BlogUser)Session[tempUserinfo];
                    var nickName             = string.IsNullOrEmpty(tempSessionUser.UserNickname) ? tempSessionUser.UserName : tempSessionUser.UserName;
                    Helper.EmailHelper email = new Helper.EmailHelper()
                    {
                        mailPwd     = s_mailPwd,
                        host        = s_host,
                        mailFrom    = s_mailFrom,
                        mailSubject = "欢迎您注册 嗨-博客",
                        mailBody    = EmailHelper.tempBody(nickName, "欢迎注册 嗨-博客",
                                                           "您注册的的帐号:" + objuser.UserName + "   密码是:" + (isEffectiveEmail ? tempuser.UserPass : defaulPass), "请您妥善保管~"),
                        mailToArray = new string[] { tempSessionUser.UserMail }
                    };

                    try
                    {
                        email.Send(t =>
                        {
                            LogSave.TrackLogSave("IP:" + RequestHelper.GetIp() + "\r\nToMail:" + tempSessionUser.UserMail + "\r\nBody:" + t.Body, "发送成功的邮件");
                        },
                                   t =>
                        {
                            LogSave.TrackLogSave("IP:" + RequestHelper.GetIp() + "\r\nToMail:" + tempSessionUser.UserMail + "\r\nBody:" + t.Body, "发送失败的邮件");
                        }
                                   );
                    }
                    catch (Exception)
                    { }

                    #endregion

                    Session[jihuoma]      = null;
                    Session[tempUserinfo] = null;

                    BLLSession.UserInfoSessioin = objuser;
                    return(new JSData()
                    {
                        Messg = "恭喜您~激活成功~",
                        State = EnumState.正常重定向,
                        JSurl = "/"
                    }.ToJson());
                }
                else
                {
                    return(new JSData()
                    {
                        Messg = "激活失败,请联系管理员~",
                        State = EnumState.失败
                    }.ToJson());
                }
            }
            #endregion

            return(new JSData()
            {
                Messg = "您输入的激活码错误,你可以重新激活~",
                State = EnumState.失败
            }.ToJson());
        }