zoukankan      html  css  js  c++  java
  • ASP.NET结合数据库,发送邮件找回密码

     
     

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    using System.Net.Mail;
    public partial class Default6 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    MultiView1.ActiveViewIndex = 0;

    }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
    string name = TextBox2.Text.ToString();
    string sql = "select count(*) from Usermember where username='" + name + "'";
    int n=SqlDb.ExecScalar(sql);
    if(n>0)
    {
    MultiView1.ActiveViewIndex=1;

    string sql1 = "select pwdanswer,pwdquestion from Usermember where username='" + name + "'";
    SqlDataReader dr = SqlDb.GetReader(sql1);
    while (dr.Read())
    {
    TextBox3.Text = dr["pwdquestion"].ToString();

    }
    dr.Dispose();
    }
    else
    {
    MultiView1.ActiveViewIndex = 0;

    Response.Write("<script>alert('无此用户名');history.back();</script>");
    }
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
    TextBox txt = new TextBox();

    string an="";
    string email = "";
    string pwd = "";
    Random pwd1 = new Random();
    pwd = pwd1.Next(100000, 9999999).ToString();
    txt.Text = pwd;
    string name = TextBox2.Text.ToString();
    string sql = "select pwdanswer,pwdquestion,user_email,userpwd from Usermember where username='" + name + "'";
    SqlDataReader dr = SqlDb.GetReader(sql);
    while (dr.Read())
    {
    an = dr["pwdanswer"].ToString();
    email = dr["user_email"].ToString();
    //pwd = dr["userpwd"].ToString();

    }
    if (TextBox4.Text == an)
    {
    string sql2 = "update Usermember set userpwd='" + SqlDb.MD5(txt) + "' where username='" + name + "'";
    SqlDb.ExecSql(sql2);
    MailAddress add=new MailAddress("XXX@163.com");
    if (Send(add, email, "找回密码", pwd+" 请用此密码登录并及时修改您的密码!谢谢..."))
    {
    Response.Write("<script>alert('回答正确,一封邮件已发送到你的邮箱,请查 收!');location.href='" + Request.Url + "';</script>");
    }
    else
    {
    Response.Write("<script>alert('发送失败');JavaScript:history.back();</script>");
    }
    }
    else
    {
    Response.Write("<script>alert('回答错误');JavaScript:history.back();</script>");
    }

        }


    /// <summary>
    /// 发送电子邮件
    /// </summary>
    /// <param name="MessageFrom">发件人邮箱地址 </param>
    /// <param name="MessageTo">收件人邮箱地址 </param>
    /// <param name="MessageSubject">邮件主题 </param>
    /// <param name="MessageBody">邮件内容 </param>
    /// <returns> </returns>
    public static bool Send(MailAddress MessageFrom, string MessageTo, string MessageSubject, string MessageBody)
    {
    MailMessage message = new MailMessage();

            message.From = MessageFrom;
    message.To.Add(MessageTo);              //收件人邮箱地址可以是多个以实现群发
    message.Subject = MessageSubject;
    message.Body = MessageBody;
    message.IsBodyHtml = true;              //是否为html格式
    message.Priority = MailPriority.High;   //发送邮件的优先等级

            SmtpClient sc = new SmtpClient();
    sc.Host = "smtp.163.com";              //指定发送邮件的服务器地址或IP
    sc.Port = 25;                           //指定发送邮件端口
    sc.Credentials = new System.Net.NetworkCredential("XXX@163.com", "XXX"); //指定登录服务器的用户名和密码
    try
    {
    sc.Send(message);       //发送邮件
    }
    catch (SmtpException ex)
    {

    //return ex.Message;
    }
    return true;

  • 相关阅读:
    LINUX-----管道流及重定向
    转:vim----复制粘贴
    linux ----虚拟机无法与本地机通信
    C语言---注释
    C语言---翻译过程
    DROP--删除表
    ALTER---删除字段
    Oracle中用一条Sql实现任意的行转列拼接 多行拼接
    Oracle列操作(增加列,修改列,删除列)
    Java 把long 转换成 日期 再转换成String类型
  • 原文地址:https://www.cnblogs.com/zhangq723/p/1707221.html
Copyright © 2011-2022 走看看