/// <summary> /// 发送重置密码邮件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void LinkButton1_Click(object sender, EventArgs e) { AuthUserOperationPermission(Permission.SendMail); int reportid = IntParam; if (reportid != 0) { LossReport report = FacadeManage.aideNativeWebFacade.GetLossReport(reportid); AccountsInfo account = FacadeManage.aideAccountsFacade.GetAccountInfoByUserID(report.UserID); string site = FacadeManage.aideNativeWebFacade.GetConfigInfo(EnumerationList.SiteConfigKey.SiteConfig.ToString()).Field2; string sign = TextEncrypt.MD5EncryptPassword(report.ReportNo + report.UserID + report.ReportDate.ToString().Trim() + report.Random + ApplicationSettings.Get("ReportForgetPasswordKey")); string url = Game.Utils.Utility.UrlEncode(site + string.Format("/Member/Complaint-Setp-4.aspx?param={0}&sign={1}&test=test", report.ReportNo, sign)); //邮箱配置 ConfigInfo mail = FacadeManage.aideNativeWebFacade.GetConfigInfo(EnumerationList.SiteConfigKey.EmailConfig.ToString()); MailConfigInfo mailConfig = new MailConfigInfo(); mailConfig.Accounts = mail.Field1.Trim(); mailConfig.Password = mail.Field2.Trim(); mailConfig.Port = Convert.ToInt32(mail.Field4); mailConfig.SmtpServer = mail.Field3.Trim(); mailConfig.SmtpSenderEmail = mail.Field1.Trim(); mailConfig.LossreportUrl = ""; Dictionary <string, string> renderVals = new Dictionary <string, string>(); renderVals.Add("reportNO", report.ReportNo); renderVals.Add("userName", report.Accounts); renderVals.Add("url", url); renderVals.Add("mail", mail.Field1); renderVals.Add("sitename", FacadeManage.aideNativeWebFacade.GetConfigInfo(EnumerationList.SiteConfigKey.SiteConfig.ToString()).Field1); renderVals.Add("reason", ""); string file = TextUtility.GetFullPath("/Config/lossReportSuccess.config"); TMLForgetConfigManager.ConfigFilePath = file; MailTMLConfigInfo tmlMail = new MailTMLConfigInfo(TMLForgetConfigManager.LoadConfig().MailContent.Text, TMLForgetConfigManager.LoadConfig().MailTitle); Game.Facade.Mail.EmailForgetPassword emailFoget = new Game.Facade.Mail.EmailForgetPassword(mailConfig, tmlMail, renderVals); //发送邮件 try { emailFoget.Send(report.ReportEmail); report.ProcessStatus = 1; FacadeManage.aideNativeWebFacade.UpdateLossReport(report); MessageBox("成功发送“申诉成功”邮件"); } catch (Exception ex) { MessageBox("邮件发送失败" + ex.ToString()); } } }
/// <summary> /// 获取加密的MD5,大写的(特意备注:这里是指将你输入的字符串加密成MD5后转为大写,有些傻子以为是先将字符串转大写后加密) /// </summary> /// <param name="md5_txt">String</param> /// <param name="IsMD5">表示加密为:32位或者16位(默认32位)</param> /// <returns>返回MD5</returns> public static string MD5Upper(this string md5_txt, bool IsMD5 = true) { if (string.IsNullOrWhiteSpace(md5_txt)) { throw new System.SystemException("该字符串不存在任何内容!"); } //MD5加密 return(TextEncrypt.MD5EncryptPassword(md5_txt, IsMD5 ? MD5ResultMode.Strong : MD5ResultMode.Weak)); //var md5 = System.Security.Cryptography.MD5.Create(); //if (!IsMD5) //{ // return BitConverter.ToString(md5.ComputeHash(Encoding.UTF8.GetBytes(md5_txt)), 4, 8).Replace("-", "").ToUpper(); //} //var bs = md5.ComputeHash(Encoding.UTF8.GetBytes(md5_txt)); //var sb = new StringBuilder(); //foreach (byte b in bs) //{ // sb.Append(b.ToString("x2")); //} ////所有字符转为大写 //return sb.ToString().ToUpper(); }
///// <summary> ///// 转换指定的字符串,以使用 % 字符对保留字符(@、*、_、+、-、. 和 /)进行转义,并以 Unicode 表示法表示它们。 ///// </summary> ///// <param name="str">要转换的字符串。</param> ///// <returns>其中的保留字符通过 % 字符进行转义并以 Unicode 表示法表示的 string 的新副本。</returns> //public static string Escape(string str) //{ // return GlobalObject.escape(str); //} /// <summary> /// MD5加密 (32) /// </summary> /// <param name="s">原文</param> /// <returns>密文</returns> public static string MD5(string s) { return(TextEncrypt.MD5EncryptPassword(s)); }