I am trying to make a simple website but on reset password page after typing any mail address and clicking on reset password button I am getting a error saying
System.Net.Mail.SmtpException: 'Failure sending mail.'
Inner Exception
IOException: Unable to read data from the transport connection: net_io_connectionclosed.
Here is my code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Net;
using System.Net.Mail;
using System.Drawing;
using System.Configuration;
using System.Data.SqlClient;
using System.IO;
using System.Threading;
namespace ARTIst_Sketch_Work
{
public partial class ForgotPassword : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string Username = string.Empty;
string Password = string.Empty;
string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT Username, Password FROM [Table] WHERE [E-mail] = @Email"))
{
cmd.Parameters.AddWithValue("@Email", TextBoxmail.Text.Trim());
cmd.Connection = con;
con.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
if (sdr.Read())
{
Username = sdr["Username"].ToString();
Password = sdr["Password"].ToString();
}
}
con.Close();
}
}
if (!string.IsNullOrEmpty(Password))
{
MailMessage mm = new MailMessage("sender@gmail.com", TextBoxmail.Text.Trim())
{
Subject = "Password Recovery",
Body = string.Format("Hi {0},<br /><br />Your password is {1}.<br /><br />Thank You.", Username, Password),
IsBodyHtml = true
};
SmtpClient smtp = new SmtpClient
{
Host = "smtp.gmail.com",
EnableSsl = true
};
NetworkCredential NetworkCred = new NetworkCredential
{
UserName = "sender@gmail.com",
Password = "<Password>"
};
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);
lblMessage.ForeColor = Color.Green;
lblMessage.Text = "Password has been sent to your email address.";
}
else
{
lblMessage.ForeColor = Color.Red;
lblMessage.Text = "This email address does not match our records.";
}
}
}
}
The exception pops at :
smtp.Send(mm);
Any help will be appreciated