public static string ResolveMessage(string template, User user) { string result = template; if (user != null && !string.IsNullOrEmpty(template)) { string activeLink = string.Format("/kich-hoat-tai-khoan/{0}", user.ActiveCode); string siteUrl = TNHelper.GetSettings().SiteUrl; if (siteUrl.EndsWith("/")) { siteUrl = siteUrl.Substring(0, siteUrl.Length - 1); } activeLink = string.Format("{0}{1}", siteUrl, activeLink); if (!string.IsNullOrEmpty(result)) { result = result.Replace("$SiteUrl$", TNHelper.GetSettings().SiteUrl); result = result.Replace("$Username$", user.DisplayName); result = result.Replace("$Password$", user.Password); result = result.Replace("$ActiveLink$", activeLink); result = result.Replace("$AcitveCode$", user.ActiveCode); } } return(result); }
private void LoadEditData() { BizSettings biz = TNHelper.GetSettings(); if (biz != null) { txtSmtpServer.Text = biz.SmtpServer; txtSmtpUsername.Text = biz.SmtpUsername; txtSmtpPassword.Text = biz.SmtpPassword; chkSmtpAuthentication.Checked = biz.SmtpAuthentication; txtSmtpPort.Text = biz.SmtpPort.ToString(); txtDefaultSender.Text = biz.DefaultSender; txtSiteUrl.Text = biz.SiteUrl; txtAcitveSubject.Text = biz.ActiveEmailSubject; txtActiveEmailTemplate.Text = biz.ActiveEmailTemplate; txtResetSubject.Text = biz.ResetEmailSubject; txtRestBody.Text = biz.ResetEmailTemplate; txtDefaultPoint.Text = biz.DefaultPoint.ToString(); txtHomeDisplayItem.Text = biz.HomeDisplayItem.ToString(); } }
public static bool SendEmail(string from, string to, string subject, string body) { string server = TNHelper.GetSettings().SmtpServer; string username = TNHelper.GetSettings().SmtpUsername; string password = TNHelper.GetSettings().SmtpPassword; bool authentication = TNHelper.GetSettings().SmtpAuthentication; int port = TNHelper.GetSettings().SmtpPort; MailMessage msg = new MailMessage(); string[] addresses = to.Split(new string[] { ";", "," }, StringSplitOptions.RemoveEmptyEntries); msg.To.Clear(); Regex regr = new Regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"); foreach (string adr in addresses) { if (regr.IsMatch(adr.Trim())) { msg.To.Add(adr); } } msg.From = new MailAddress(from); msg.Subject = subject; msg.Body = body; msg.BodyEncoding = Encoding.UTF8; msg.IsBodyHtml = true; msg.SubjectEncoding = Encoding.UTF8; SmtpClient mailClient = new SmtpClient(); if (authentication) { System.Net.NetworkCredential credential = new System.Net.NetworkCredential(username, password); mailClient.Credentials = credential; if (username.ToLower().Contains("gmail.com")) { mailClient.EnableSsl = true; } } mailClient.Host = server; mailClient.Port = port; try { mailClient.Send(msg); return(true); } catch (Exception exp) { TNHelper.LogError(body, exp.ToString()); return(false); } }
private bool SendActiveEmail(User user, string code) { string subject = TNHelper.GetSettings().ActiveEmailSubject; string body = TNHelper.GetSettings().ActiveEmailTemplate; string from = TNHelper.GetSettings().DefaultSender; string to = user.Email; subject = Utils.ResolveMessage(subject, user); body = Utils.ResolveMessage(body, user); return(Utils.SendEmail(from, to, subject, body)); }
protected void btnSend_Click(object sender, EventArgs e) { string email = txtEmail.Text.Trim(); User user = TNHelper.GetUserByEmail(email); if (user == null) { Utils.ShowMessage(lblMsg, "Địa chỉ email không tồn tại."); } else if (user != null && !user.Active) { Utils.ShowMessage(lblMsg, "Tài khoản của bạn chưa được kích hoạt. Hãy kích hoạt tài của bạn trước khi gởi yêu cầu mật khẩu mới."); } else { user = DomainManager.GetObject <User>(user.Id); if (user != null) { string newpass = Utils.GetNewPassword(); string oldpass = user.Password; user.Password = newpass; string from = TNHelper.GetSettings().DefaultSender; string to = user.Email; string subject = TNHelper.GetSettings().ResetEmailSubject; subject = Utils.ResolveMessage(subject, user); string content = TNHelper.GetSettings().ResetEmailTemplate; content = Utils.ResolveMessage(content, user); if (Utils.SendEmail(from, to, subject, content)) { pnlReset.Visible = false; user.Password = Utils.EncodePassword(newpass); DomainManager.Update(user); Utils.ResetCurrentUser(); Utils.ShowMessage(lblMsg, string.Format("Mật khẩu mới đã được gởi vào địa chỉ email <b>{0}</b>", email)); TNHelper.LogAction(user, LogType.UserLog, "Reset mật khẩu"); } else { user.Password = oldpass; DomainManager.Update(user); Utils.ResetCurrentUser(); Utils.ShowMessage(lblMsg, "Gởi mật khẩu không thành công. Bạn hãy thử lại sau."); TNHelper.LogAction(user, LogType.UserLog, "Reset mật khẩu không thành công."); } } } }
protected void btnResetAccount_Click(object sender, EventArgs e) { User user = Utils.GetCurrentUser(); if (user != null && TNHelper.ResetUser(user.Id)) { TNHelper.LogAction(LogType.UserLog, "Khởi tạo thông tin tài khoản"); litPoint.Text = TNHelper.GetSettings().DefaultPoint.ToString("N0"); Utils.ShowMessage(lblMsgPoint, "Tài khoản của bạn đã được khởi tạo lại thành công."); } else { Utils.ShowMessage(lblMsgPoint, "Khởi tạo tài khoản không thành công."); } }
private void LoadData() { BizSettings biz = TNHelper.GetSettings(); int count = new BizSettings().HomeDisplayItem; if (biz != null) { count = biz.HomeDisplayItem; } List <User> lst = TNHelper.GetTopRankingUser(count); if (lst != null && lst.Count > 0) { rptList.DataSource = lst; rptList.DataBind(); } else { rptList.Visible = false; Utils.ShowMessage(lblMsg, "Không tìm thấy dữ liệu"); } }
protected void btnSave_Click(object sender, EventArgs e) { if (Page.IsValid) { BizSettings biz = TNHelper.GetSettings(); if (biz == null) { biz = new BizSettings(); } biz.SmtpServer = TextInputUtil.GetSafeInput(txtSmtpServer.Text); biz.SmtpUsername = TextInputUtil.GetSafeInput(txtSmtpUsername.Text); if (txtSmtpPassword.Text.Trim().Length > 0) { biz.SmtpPassword = TextInputUtil.GetSafeInput(txtSmtpPassword.Text); } biz.SmtpAuthentication = chkSmtpAuthentication.Checked; int port; int.TryParse(txtSmtpPort.Text.Trim(), out port); if (port == 0) { port = 80; } biz.SmtpPort = port; biz.DefaultSender = TextInputUtil.GetSafeInput(txtDefaultSender.Text); biz.SiteUrl = TextInputUtil.GetSafeInput(txtSiteUrl.Text.Trim()); biz.ActiveEmailSubject = TextInputUtil.GetSafeInput(txtAcitveSubject.Text); biz.ActiveEmailTemplate = TextInputUtil.GetSafeInput(txtActiveEmailTemplate.Text); biz.ResetEmailSubject = TextInputUtil.GetSafeInput(txtResetSubject.Text); biz.ResetEmailTemplate = TextInputUtil.GetSafeInput(txtRestBody.Text); int point; int.TryParse(txtDefaultPoint.Text.Trim(), out point); if (point == 0) { point = new BizSettings().DefaultPoint; } biz.DefaultPoint = point; int homeDisplayItem; int.TryParse(txtHomeDisplayItem.Text.Trim(), out homeDisplayItem); if (homeDisplayItem == 0) { homeDisplayItem = new BizSettings().HomeDisplayItem; } biz.HomeDisplayItem = homeDisplayItem; Setting setting = DomainManager.GetObject <Setting>(1); if (setting == null) { setting = new Setting(); } setting.SettingValue = Utils.SerializeObject <BizSettings>(biz); if (setting.Id == 0) { DomainManager.Insert(setting); } else { DomainManager.Update(setting); } TNHelper.RemoveCaches(); Utils.ShowMessage(lblMsg, "Cập nhật thông tin cấu hình thành công."); } }
protected void btnRegister_Click(object sender, EventArgs e) { #region Valid data string captcha = Session[TNHelper.CaptchaKey] as string; if (string.Compare(txtCaptcha.Text, captcha, false) != 0) { Utils.ShowMessage(lblMsg, "Mã captcha chưa đúng. Bạn hãy kiểm tra lại."); return; } string email = TextInputUtil.GetSafeInput(txtEmail.Text.Trim()); if (!TNHelper.IsValidRegisterEmail(email)) { Utils.ShowMessage(lblMsg, string.Format("Địa chỉ email <b>{0}</b> đã được sử dụng.", email)); return; } if (string.Compare(txtPassword.Text, txtRetypePass.Text, false) != 0) { Utils.ShowMessage(lblMsg, "Mật khẩu chưa trùng khớp. Hãy kiểm tra lại"); return; } #endregion if (Page.IsValid) { User user = new User(); user.DisplayName = TextInputUtil.GetSafeInput(txtDisplayName.Text); user.FullName = TextInputUtil.GetSafeInput(txtFullName.Text); user.Email = email; user.Password = Utils.EncodePassword(txtPassword.Text); user.RegisterDate = DateTime.Now; string code = Utils.GenerateNewActiveCode(); user.ActiveCode = code; user.Point = TNHelper.GetSettings().DefaultPoint; if (user.Point == 0) { TNHelper.LogError("Không lấy được điểm khởi tạo. Khởi tạo lại điểm mặc định.", "Error get GetSettings object"); user.Point = new BizSettings().DefaultPoint; } if (DomainManager.Insert(user)) { bool isSent = SendActiveEmail(user, code); if (isSent) { Utils.ShowMessage(lblMsg, string.Format("Đăng ký tài khoản thành công. Email kích hoạt đã đựoc gởi tới địa chỉ email <b>{0}</b> của bạn.", user.Email)); } else { Utils.ShowMessage(lblMsg, string.Format("Gởi email kích hoạt không thành công. Bạn liên hệ admin để kích hoạt tài khoản.", user.Email)); lblMsg.ForeColor = Color.Red; } TNHelper.LogAction(user, LogType.UserLog, "Đăng ký tài khoản"); pnlRegister.Visible = false; } else { Utils.ShowMessage(lblMsg, "Đăng ký tài khoản không thành công. Bạn hãy thử lại"); } } }