예제 #1
0
        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);
        }
예제 #2
0
        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
        }
예제 #4
0
        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 地址或安全提问不匹配,请返回修改.");
                }
            }
        }