Отправить забыть пароль на электронную почту Asp.net код ошибки - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь написать код для отправки забытого пароля по электронной почте, поэтому, когда пользователь нажимает кнопку «Забыли пароль», необходимо отправить пароль на свою электронную почту ... но выдает эту ошибку

Ошибка сервера в «/» приложении. SMTP-сервер требует безопасного соединение или клиент не был аутентифицирован. Ответ сервера был: 5.5.1 Требуется аутентификация. Узнайте больше на Описание: An необработанное исключение произошло во время выполнения текущей сети запрос. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации о ошибка и откуда она возникла в коде.

Сведения об исключении: System.Net.Mail.SmtpException: SMTP-сервер требует безопасного соединения или клиент не прошел проверку подлинности. ответ сервера: 5.5.1 Требуется аутентификация. Узнайте больше на

Ошибка источника:

Строка 50: smtp. Отправка (мс);

Исходный код здесь:

       protected void Buttonpsw_Click(object sender, EventArgs e)
         {
        string mainconn = ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;
        SqlConnection con = new SqlConnection(mainconn);
        string sqlquery = "select Email,Password1 from [dbo].[Users1] where Email =@Email";
        SqlCommand sqlcommand = new SqlCommand(sqlquery, con);
        sqlcommand.Parameters.AddWithValue("@Email",Textemail.Text);
        con.Open();
        SqlDataReader sdr = sqlcommand.ExecuteReader();
        if (sdr.Read())
        {

            string username = sdr["Email"].ToString();
            string Password = sdr["Password1"].ToString();
            MailMessage ms = new MailMessage("roqaia.alrfou@gmail.com",Textemail.Text);
            ms.Subject = "Your password!";
            ms.Body = string.Format("Hello : <h1>{0}</h1> is your Email ID <br/> Your Password is <h1>{1}</h1>",username,Password);
            ms.IsBodyHtml = true;
            SmtpClient smtp = new SmtpClient();
            smtp.Host = "smtp.gmail.com";
            smtp.EnableSsl = true;
            NetworkCredential nc = new NetworkCredential();
            nc.UserName = "roqaia.alrfou@gmail.com";
            nc.Password = "133";
            smtp.UseDefaultCredentials = true;
            smtp.Credentials = nc;
            smtp.Port = 587;
            smtp.Send(ms);
            Labelmsg.Text = "Your Password has been sent to" + Textemail.Text;
            Labelmsg.ForeColor = Color.Green;


        }
        else
        {
            Labelmsg.Text = Textemail.Text+" This Email ID isn't Exist! Please sign up";
            Labelmsg.ForeColor = Color.Red;

        }

И строка подключения в веб-конфигурации имеет следующий код: ( Tracking_System - это имя моей базы данных )

    <connectionStrings>
        <add name="dbconnection"
             connectionString="server= USER-PC\SQL;Data 
   Source=localhost;Initial Catalog=Tracking_System;
   Integrated Security=True;Pooling=False
   ; Trusted_Connection=True;"
         providerName="System.data.sqlclient" />
</connectionStrings>

Я попытался пропинговать smtp в командной строке:

C: \ WINDOWS \ system32> ping smtp.google.com Не удалось найти Ping-запрос хост smtp.google.com. Пожалуйста, проверьте имя и попробуйте снова.

C: \ WINDOWS \ system32> ping smtp.gmail.com

pinging gmail-smtp-msa.l.google.com [64.233.184.108] с 32 байтами data: Ответ от 64.233.184.108: bytes = 32 time = 85ms TTL = 37 Ответить от 64.233.184.108: байты = 32 время = 91 мс TTL = 37 Ответ от 64.233.184.108: байты = 32 время = 86 мс TTL = 37 Ответ 64.233.184.108: байты = 32 время = 85мс TTL = 37

Статистика Ping для 64.233.184.108: Пакеты: Отправлено = 4, Получено = 4, Потерянно = 0 (потеря 0%), Приблизительное время приема-передачи в миллисекундах: Минимум = 85мс, Максимум = 91мс, Среднее = 86мс

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Проблема заключалась в том, что мой пароль моего письма неверен, nc.Password = "133"; Я думал, что правильный пароль из базы данных, а не реальный пароль моего письма.Таким образом, приведенный выше код является правильным 100%. Надеюсь, кому-то это нужно

0 голосов
/ 17 января 2019

Обычно это происходит при попытке входа в систему из другого часового пояса или компьютера с IP-адресом. Ваш рабочий сервер и используемый вами почтовый идентификатор находятся в разных часовых поясах. Выберите одно из решений:

1) Войдите на рабочий сервер через удаленный доступ и войдите в Gmail, указав свои учетные данные. Они попросят подтверждение, подтвердят его и выйдут.

Или 2) войдите в Gmail на локальный компьютер. Перейдите по этой ссылке Ссылка , выберите , просмотрите это действие и выполните соответствующие действия.

Я нашел это по этой ссылке Ошибка Gmail: SMTP-сервер требует безопасного соединения или клиент не прошел проверку подлинности. Ответ сервера: 5.5.1 Требуется аутентификация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...