Я попытался запустить этот код, и он показывает эту ошибку. Это пароль сброса, где пользователь должен ввести адрес электронной почты. Когда адрес электронной почты действителен, администратор отправит пользователю ссылку для сброса пароля.
protected void btnResetPwd_Click(object sender, EventArgs e)
{
string emailAddress = txtEmail.Text;
User u = db.Users.Single(x => x.EmailAddress == emailAddress);
if (u != null)
{
lblMessage.ForeColor = System.Drawing.Color.LimeGreen;
MailMessage mailMessage = new MailMessage();
StringBuilder sbEmailBody = new StringBuilder();
sbEmailBody.Append("Dear " + u.Name + ",<br/><br/>");
sbEmailBody.Append("Please click on the following link to reset your password");
sbEmailBody.Append("<br/>"); sbEmailBody.Append("http://localhost/Assignment/Registration/ChangePwd.aspx?uid=" +u.Id);
sbEmailBody.Append("<br/><br/>");
sbEmailBody.Append("<b>Pragim Technologies</b>");
mailMessage.IsBodyHtml = true;
mailMessage.Body = sbEmailBody.ToString();
mailMessage.Subject = "Reset Your Password";
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com", 587);
smtpClient.Credentials = new System.Net.NetworkCredential()
{
UserName = "YourEmail@gmail.com",
Password = "YourPassword"
};
string to = u.EmailAddress;
string from = "potato@gmail.com";
smtpClient.EnableSsl = true;
mailMessage.From = new MailAddress(from);
mailMessage.To.Add(to);
smtpClient.Send(mailMessage);
smtpClient.UseDefaultCredentials = false;
lblMessage.Text = "An email with instructions to reset your password is sent to your registered email";
}
else
{
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = "Email Address not found!";
}
}
А это мой web.config
<system.net>
<mailSettings>
<smtp from="Admin <potato@gmail.com>">
<network host="smt.gmail.com"
port="587"
enableSsl="true"
userName="potato@gmail.com"
password="password"/>
</smtp>
</mailSettings>
</system.net>