private void SendEmail() { string sendtoemail = DNTRequest.GetString("sendtoemail"); if (sendtoemail == "") { AddErrLine("接收者的Email不能为空"); return; } if (!Utils.IsValidEmail(sendtoemail)) { AddErrLine("接收者的Email不正确"); return; } string message = string.Format("这封信是由 {0} 的 {1} 发送的。\r\n\r\n您收到这封邮件,是因为在 {1} 通过 {0} 的“推荐给朋友”\r\n" + "功能推荐了如下的内容给您,如果您对此不感兴趣,请忽略这封邮件。您不\r\n需要退订或进行其他进一步的操作。\r\n\r\n" + "----------------------------------------------------------------------\r\n" + "信件原文开始\r\n----------------------------------------------------------------------\r\n\r\n{2}" + "\r\n\r\n----------------------------------------------------------------------\r\n" + "信件原文结束\r\n----------------------------------------------------------------------\r\n\r\n" + "请注意这封信仅仅是由用户使用 “推荐给朋友”发送的,不是论坛官方邮件,\r\n论坛管理团队不会对这类邮件负责。\r\n\r\n" + "欢迎您访问 {0}\r\n{3}", config.Forumtitle, username, DNTRequest.GetString("message"), Utils.GetRootUrl(forumpath)); Emails.DiscuzSmtpMailToUser(sendtoemail, string.Format("[{0}] {1} 推荐给您: {2} ", config.Forumtitle, username, Topics.GetTopicInfo(tid).Title), message); }
private void ReSendMail(int uid, string username, string email) { string Authstr = ForumUtils.CreateAuthStr(20); Discuz.Forum.Users.UpdateAuthStr(uid, Authstr, 2); string title = config.Forumtitle + " 取回密码说明"; StringBuilder body = new StringBuilder(); body.Append(username); body.Append("您好!<BR />这封信是由 "); body.Append(config.Forumtitle); body.Append(" 发送的.<BR /><BR />您收到这封邮件,是因为在我们的论坛上这个邮箱地址被登记为用户邮箱,且该用户请求使用 Email 密码重置功能所致."); body.Append("<BR /><BR />----------------------------------------------------------------------"); body.Append("<BR />重要!"); body.Append("<BR /><BR />----------------------------------------------------------------------"); body.Append("<BR /><BR />如果您没有提交密码重置的请求或不是我们论坛的注册用户,请立即忽略并删除这封邮件.只在您确认需要重置密码的情况下,才继续阅读下面的内容."); body.Append("<BR /><BR />----------------------------------------------------------------------"); body.Append("<BR />密码重置说明"); body.Append("<BR /><BR />----------------------------------------------------------------------"); body.Append("<BR /><BR />您只需在提交请求后的三天之内,通过点击下面的链接重置您的密码:"); body.Append("<BR /><BR /><a href=" + GetForumPath() + "/setnewpassword.aspx?uid=" + uid + "&id=" + Authstr + " target=_blank>"); body.Append(GetForumPath()); body.Append("/setnewpassword.aspx?uid="); body.Append(uid); body.Append("&id="); body.Append(Authstr); body.Append("</a>"); body.Append("<BR /><BR />(如果上面不是链接形式,请将地址手工粘贴到浏览器地址栏再访问)"); body.Append("<BR /><BR />上面的页面打开后,输入新的密码后提交,之后您即可使用新的密码登录论坛了.您可以在用户控制面板中随时修改您的密码."); body.Append("<BR /><BR />本请求提交者的 IP 为 "); body.Append(DNTRequest.GetIP()); body.Append("<BR /><BR /><BR /><BR />"); body.Append("<BR />此致 <BR /><BR />"); body.Append(config.Forumtitle); body.Append(" 管理团队."); body.Append("<BR />"); body.Append(GetForumPath()); body.Append("<BR /><BR />"); Emails.DiscuzSmtpMailToUser(email, title, body.ToString()); }
private void sendTestEmail_Click(object sender, EventArgs e) { #region 发送测试邮件 if (this.CheckCookie()) { if (testEmail.Text != "") { Emails.DiscuzSmtpMailToUser(testEmail.Text, "测试邮件", "这是一封Discuz!NT邮箱设置页面发送的测试邮件!"); base.RegisterStartupScript("PAGE", "window.location.href='global_emailconfig.aspx';"); } else { base.RegisterStartupScript("", "<script>alert('请输入测试发送EMAIL地址!');</script>"); } } #endregion }
protected override void ShowPage() { pagetitle = "密码找回"; username = Utils.RemoveHtml(DNTRequest.GetString("username")); //如果提交... if (DNTRequest.IsPost()) { if (ForumUtils.IsCrossSitePost()) { AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。"); return; } base.SetBackLink("getpassword.aspx?username="******"用户不存在"); return; } if (DNTRequest.GetString("email").Equals("")) { AddErrLine("电子邮件不能为空"); return; } if (IsErr()) { return; } int uid = Discuz.Forum.Users.CheckEmailAndSecques(username, DNTRequest.GetString("email"), DNTRequest.GetInt("question", 0), DNTRequest.GetString("answer")); if (uid != -1) { string Authstr = ForumUtils.CreateAuthStr(20); Discuz.Forum.Users.UpdateAuthStr(uid, Authstr, 2); string title = config.Forumtitle + " 取回密码说明"; StringBuilder body = new StringBuilder(); body.Append(username); body.Append("您好!<br />这封信是由 "); body.Append(config.Forumtitle); body.Append(" 发送的.<br /><br />您收到这封邮件,是因为在我们的论坛上这个邮箱地址被登记为用户邮箱,且该用户请求使用 Email 密码重置功能所致."); body.Append("<br /><br />----------------------------------------------------------------------"); body.Append("<br />重要!"); body.Append("<br /><br />----------------------------------------------------------------------"); body.Append("<br /><br />如果您没有提交密码重置的请求或不是我们论坛的注册用户,请立即忽略并删除这封邮件.只在您确认需要重置密码的情况下,才继续阅读下面的内容."); body.Append("<br /><br />----------------------------------------------------------------------"); body.Append("<br />密码重置说明"); body.Append("<br /><br />----------------------------------------------------------------------"); body.Append("<br /><br />您只需在提交请求后的三天之内,通过点击下面的链接重置您的密码:"); body.AppendFormat("<br /><br /><a href={0}/setnewpassword.aspx?uid={1}&id={2} target=_blank>", GetForumPath(), uid, Authstr); body.Append(GetForumPath()); body.Append("/setnewpassword.aspx?uid="); body.Append(uid); body.Append("&id="); body.Append(Authstr); body.Append("</a>"); body.Append("<br /><br />(如果上面不是链接形式,请将地址手工粘贴到浏览器地址栏再访问)"); body.Append("<br /><br />上面的页面打开后,输入新的密码后提交,之后您即可使用新的密码登录论坛了.您可以在用户控制面板中随时修改您的密码."); body.Append("<br /><br />本请求提交者的 IP 为 "); body.Append(DNTRequest.GetIP()); body.Append("<br /><br /><br /><br />"); body.Append("<br />此致 <br /><br />"); body.Append(config.Forumtitle); body.Append(" 管理团队."); body.Append("<br />"); body.Append(GetForumPath()); body.Append("<br /><br />"); Emails.DiscuzSmtpMailToUser(DNTRequest.GetString("email"), title, body.ToString()); SetUrl(forumpath); SetMetaRefresh(5); SetShowBackLink(false); AddMsgLine("取回密码的方法已经通过 Email 发送到您的信箱中,<br />请在 3 天之内到论坛修改您的密码."); } else { AddErrLine("用户名,Email 地址或安全提问不匹配,请返回修改."); } } }