Introduction: In
this post I will explain how we can recover the lost/forgot password via email
in asp.net.
Description:
In the last post I have explained How to Create Login Form in Asp.net OR Login Form with Check Username and Password aviabilty in Asp.net, How to create registration page in asp.net.
Users click on forgot password link and redirect to forgot
password page. There user enter their Email Id and get their password details
via Email.
To explain forgot Password Example I created a Table USER_REGISTRATION:
ID
|
int
|
USERNAME
|
varchar(50)
|
PASSWORD
|
varchar(50)
|
FIRST_NAME
|
varchar(50)
|
LAST_NAME
|
varchar(50)
|
SEX
|
varchar(50)
|
EMAIL_ID
|
varchar(50)
|
Add a webform to project. Drag and drop the controls from Toolbox and design the .aspx page as shown below:
<table align="center">
<tr><td></td></tr>
<tr><td><h1>Forgot Password Example:</h1></td></tr>
<tr><td>Enter Your Email:</td><td>
<asp:TextBox ID="txtemail"
runat="server"
Width="220px"
Height="30px"></asp:TextBox></td></tr>
<tr><td></td></tr>
<tr><td> </td><td>
<asp:Button ID="txtsubmit"
runat="server"
Text="Send"
OnClientClick="return
ValidateEmail();"
onclick="txtsubmit_Click"
/></td></tr>
<tr><td></td></tr>
</table>
Put the below given script between Head Tag to validate the
Email ID:
<script language="javascript" type="text/javascript">
function ValidateEmail() {
var emailRegex = new
RegExp(/^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$/i);
var emailAddress = document.getElementById("<%=
txtemail.ClientID %>").value;
var valid = emailRegex.test(emailAddress);
if (!valid) {
alert("Please Enter Valid Email
address");
return false;
} else
return true;
}
</script>
NOTE: Do not
forget to add ConnectionString in web.config file of projec/website:
<connectionStrings>
<add name="Connection" connectionString="Data
Source=VIJAY-PC;Initial Catalog=TEST_APPLICATION;Integrated Security=True"/>
</connectionStrings>
Now on button click write the below given code (.aspx.cs):
using System.Data;
using System.Data.SqlClient;
using System.Net.Mail;
using System.Configuration;
using System.Text;
protected void
txtsubmit_Click(object sender, EventArgs e)
{
try
{
DataSet ds = new DataSet();
SqlConnection con = new
SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString.ToString());
{
con.Open();
SqlCommand cmd = new SqlCommand("select USERNAME, PASSWORD from USER_REGISTRATION
where EMAIL_ID ='" + txtemail.Text.Trim() + "'", con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(ds);
con.Close();
}
if (ds.Tables[0].Rows.Count > 0)
{
string USERNAME = ds.Tables[0].Rows[0]["USERNAME"].ToString();
MailMessage msg = new MailMessage();
msg.From = new MailAddress("saklanivijay87@gmail.com", "Vijay Saklani");
msg.To.Add(txtemail.Text);
msg.Subject = "Your Password
Details";
StringBuilder mailbody = new StringBuilder();
mailbody.Append("Hi
" + USERNAME + ",<br/>");
mailbody.Append("Please check your
Login Details<br/><br/> <b>Your Username:</b>
" + ds.Tables[0].Rows[0]["USERNAME"]
+
"<br/><br/> <b>Your
Password: </b>" + ds.Tables[0].Rows[0]["PASSWORD"] + "<br/>");
mailbody.Append("<br/>");
mailbody.Append("<a
href='http://localhost:10585/NEW_WEBSITE_APPLICATION%2818-07-2013%29/LOGIN_PAGE.aspx'>Click
Here to Login Again</a>");
mailbody.Append("<br/>");
mailbody.Append("<br/>");
mailbody.Append("Thanks For Contacting
Us");
mailbody.Append("<br/>");
mailbody.Append("<br/>");
mailbody.Append("<a
href='#'>Support Team</a>");
msg.Body = mailbody.ToString();
msg.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.Credentials = new System.Net.NetworkCredential("Your
Email", "Password");
smtp.EnableSsl = true;
smtp.Send(msg);
txtemail.Text = "";
Messagebox("Detail Send Successfully !
Check your Email");
}
else
{
Messagebox("The Email you entered not
exists");
}
}
catch (Exception
ex)
{
}
}
private void
Messagebox(string Message)
{
Label lblMessageBox = new
Label();
lblMessageBox.Text =
"<script language='javascript'>" +
Environment.NewLine +
"window.alert('" + Message + "')</script>";
Page.Controls.Add(lblMessageBox);
}
In VB (.aspx.vb)
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Text
Imports System.Net.Mail
Protected Sub
txtsubmit_Click(sender As Object, e As System.EventArgs) Handles
txtsubmit.Click
Try
Dim ds As New DataSet()
Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("connection").ConnectionString.ToString())
If True Then
con.Open()
Dim cmd As
New SqlCommand("select USERNAME, PASSWORD from USER_REGISTRATION
where EMAIL_ID ='" & txtemail.Text.Trim() & "'", con)
Dim adp As
New SqlDataAdapter(cmd)
adp.Fill(ds)
con.Close()
End If
If ds.Tables(0).Rows.Count > 0 Then
Dim USERNAME As
String = ds.Tables(0).Rows(0)("USERNAME").ToString()
Dim msg As
New MailMessage()
msg.From = New MailAddress("saklanivijay87@gmail.com", "Vijay Saklani")
msg.[To].Add(txtemail.Text)
msg.Subject = "Your Password
Details"
Dim mailbody As
New StringBuilder()
mailbody.Append("Hi
" & USERNAME & ",<br/>")
mailbody.Append(("Please check your
Login Details<br/><br/> <b>Your
Username:</b> " + ds.Tables(0).Rows(0)("USERNAME") & "<br/><br/> <b>Your
Password: </b>") + ds.Tables(0).Rows(0)("PASSWORD") & "<br/>")
mailbody.Append("<br/>")
mailbody.Append("<a
href='http://localhost:10585/NEW_WEBSITE_APPLICATION%2818-07-2013%29/LOGIN_PAGE.aspx'>Click
Here to Login Again</a>")
mailbody.Append("<br/>")
mailbody.Append("<br/>")
mailbody.Append("Thanks For Contacting
Us")
mailbody.Append("<br/>")
mailbody.Append("<br/>")
mailbody.Append("<a
href='#'>Support Team</a>")
msg.Body = mailbody.ToString()
msg.IsBodyHtml = True
Dim smtp As
New SmtpClient()
smtp.Host = "smtp.gmail.com"
smtp.Port = 587
smtp.Credentials = New System.Net.NetworkCredential("Your
Email", " Password")
smtp.EnableSsl = True
smtp.Send(msg)
txtemail.Text = ""
Messagebox("Detail Send Successfully !
Check your Email")
Else
Messagebox("The Email you entered not
exists")
End If
Catch ex As Exception
End Try
End Sub
Private Sub
Messagebox(Message As String)
Dim lblMessageBox As New Label()
lblMessageBox.Text = "<script
language='javascript'>" + Environment.NewLine
& "window.alert('" &
Message & "')</script>"
Page.Controls.Add(lblMessageBox)
End Sub
Run the project and check the result.
Please Upload Project, i Have error :( !!
ReplyDeleteI was curious if you ever considered changing
ReplyDeletethe layout of your site? Its very well written; I love what
youve got to say. But maybe you could a little more in the way of
content so people could connect with it better. Youve got an awful lot of text for only having one or 2 images.
Maybe you could space it out better?