Friday 6 March 2015

Forgot Password By Email Page Code In Asp.Net

Posted by with No comments
http://csharpdotnetfreak.blogspot.com/2012/06/aspnet-forgot-password-email-page-code.html

 HTML SOURCE OF FORGOT PASSWORD PAGE


   1:  <form id="Form1" runat="server">
   2:  <div>
   3:  <fieldset>
   4:  <legend>Forgot Password</legend> 
   5:  <asp:Label ID="lblEmail" runat="server" Text="Email Address: "/>
   6:  <asp:TextBox ID="txtEmail" runat="server"/>
   7:   
   8:  <asp:RequiredFieldValidator ID="RV1" runat="server" 
   9:                              ControlToValidate="txtEmail" 
  10:                              ErrorMessage="Please Enter EmailID" 
  11:                              SetFocusOnError="True">*
  12:  </asp:RequiredFieldValidator>
  13:   
  14:  <asp:Button ID="btnPass" runat="server" Text="Submit" 
  15:                           onclick="btnPass_Click"/>
  16:   
  17:  <asp:ValidationSummary ID="ValidationSummary1" 
  18:                         runat="server" CssClass="error"/>
  19:                         
  20:  <asp:Label ID="lblMessage" runat="server" Text=""/>
  21:  </fieldset>
  22:  </div>
  23:  </form>

C# CODE
using System;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
using System.Net.Mail;

protected void btnPass_Click(object sender, EventArgs e)
    {
        //Create Connection String And SQL Statement
        string strConnection = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        string strSelect = "SELECT UserName,Password FROM Users WHERE Email = @Email";

        SqlConnection connection = new SqlConnection(strConnection);
        SqlCommand command = new SqlCommand();
        command.Connection = connection;
        command.CommandType = CommandType.Text;
        command.CommandText = strSelect;

        SqlParameter email = new SqlParameter("@Email", SqlDbType.VarChar, 50);
        email.Value = txtEmail.Text.Trim().ToString();
        command.Parameters.Add(email);

        //Create Dataset to store results and DataAdapter to fill Dataset 
        DataSet dsPwd = new DataSet();
        SqlDataAdapter dAdapter = new SqlDataAdapter(command);
        connection.Open();
        dAdapter.Fill(dsPwd);
        connection.Close();
        if(dsPwd.Tables[0].Rows.Count > 0 )
        {
            MailMessage loginInfo = new MailMessage();
            loginInfo.To.Add(txtEmail.Text.ToString());
            loginInfo.From = new MailAddress("YourID@gmail.com");
            loginInfo.Subject = "Forgot Password Information";

            loginInfo.Body = "Username: " + dsPwd.Tables[0].Rows[0]["UserName"] + "<br><br>Password: " + dsPwd.Tables[0].Rows[0]["Password"] + "<br><br>";
            loginInfo.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient();
            smtp.Host = "smtp.gmail.com"; 
            smtp.Port = 587;
            smtp.EnableSsl = true;
            smtp.Credentials = new System.Net.NetworkCredential("YourGmailID@gmail.com", "YourGmailPassword");
            smtp.Send(loginInfo);
            lblMessage.Text = "Password is sent to you email id,you can now <a href="Login.aspx">Login</a>";
        }
        else
        {
            lblMessage.Text = "Email Address Not Registered";
        }
        
    }
VB.NET
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Data
Imports System.Net.Mail

Protected Sub btnPass_Click(sender As Object, e As EventArgs)
  'Create Connection String And SQL Statement
  Dim strConnection As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
  Dim strSelect As String = "SELECT UserName,Password FROM Users WHERE Email = @Email"

  Dim connection As New SqlConnection(strConnection)
  Dim command As New SqlCommand()
  command.Connection = connection
  command.CommandType = CommandType.Text
  command.CommandText = strSelect

  Dim email As New SqlParameter("@Email", SqlDbType.VarChar, 50)
  email.Value = txtEmail.Text.Trim().ToString()
  command.Parameters.Add(email)

  'Create Dataset to store results and DataAdapter to fill Dataset 
  Dim dsPwd As New DataSet()
  Dim dAdapter As New SqlDataAdapter(command)
  connection.Open()
  dAdapter.Fill(dsPwd)
  connection.Close()
  If dsPwd.Tables(0).Rows.Count > 0 Then
   Dim loginInfo As New MailMessage()
   loginInfo.[To].Add(txtEmail.Text.ToString())
   loginInfo.From = New MailAddress("YourID@gmail.com")
   loginInfo.Subject = "Forgot Password Information"

   loginInfo.Body = "Username: " & Convert.ToString(dsPwd.Tables(0).Rows(0)("UserName")) & "<br><br>Password: " & Convert.ToString(dsPwd.Tables(0).Rows(0)("Password")) & "<br><br>"
   loginInfo.IsBodyHtml = True
   Dim smtp As New SmtpClient()
   smtp.Host = "smtp.gmail.com"
   smtp.Port = 587
   smtp.EnableSsl = True
   smtp.Credentials = New System.Net.NetworkCredential("YourGmailID@gmail.com", "YourGmailPassword")
   smtp.Send(loginInfo)
   lblMessage.Text = "Password is sent to you email id,you can now <a href="Login.aspx">Login</a>"
  Else
   lblMessage.Text = "Email Address Not Registered"
  End If

End Sub
Download Source Code

0 comments:

Post a Comment