Как мне решить эту ошибку при отправке почты для забытого пароля
Невозможно прочитать данные из транспортного соединения: net_io_connectionclosed.
Описание: необработанное исключение возникло во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.IO.IOException: невозможно прочитать данные из транспортного соединения: net_io_connectionclosed.
Ошибка Источника:
Строка 55: smtp. Credentials = NetworkCred;
Строка 56: smtp.Порт = 587;
Строка 57: smtp. Send(мм);
Строка 58: lblMessage.ForeColor = Цвет.Зеленый;
Строка 59: lblMessage.Text = " пароль был отправлен на ваш адрес электронной почты.";
Что я уже пробовал:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Net; using System.Net.Mail; using System.Drawing; using System.Configuration; using System.Data.SqlClient; public partial class forgotPassword : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void SendEmail(object sender, EventArgs e) { string username = string.Empty; string password = string.Empty; string constr = ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString; using (SqlConnection con = new SqlConnection(constr)) { using (SqlCommand cmd = new SqlCommand("SELECT Firstname, [Password] FROM registration WHERE Email = @Email")) { cmd.Parameters.AddWithValue("@Email", txtEmail.Text.Trim()); cmd.Connection = con; con.Open(); using (SqlDataReader sdr = cmd.ExecuteReader()) { if (sdr.Read()) { username = sdr["Firstname"].ToString(); password = sdr["Password"].ToString(); } } con.Close(); } } if (!string.IsNullOrEmpty(password)) { MailMessage mm = new MailMessage("sender@gmail.com", txtEmail.Text.Trim()); mm.Subject = "Password Recovery"; mm.Body = string.Format("Hi {0},<br><br>Your password is {1}.<br><br>Thank You.", username, password); mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.EnableSsl = true; NetworkCredential NetworkCred = new NetworkCredential(); NetworkCred.UserName = "sender@gmail.com"; NetworkCred.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."; } } }