Himanshu.A.Joshi Ответов: 1

Во время проверки электронной почты в MVC я получаю следующую ошибку : - почтовый ящик недоступен. Ответ сервера был следующим: 5.7.3 запрошенное действие прервано; пользователь не прошел проверку подлинности


здесь я впервые делаю smtp для проверки электронной почты в mvc

я не знаю, где я ошибаюсь


когда я регистрируюсь он показывает мне эту ошибку :-
Mailbox unavailable. The server response was: 5.7.3 Requested action aborted; user not authenticated


вот мой файл службы сообщений

public async static Task SendEmailAsync(string email, string subject, string message)
      {
          try
          {
              var _email = "erjoshi@outlook.com";
              var _epass = ConfigurationManager.AppSettings["Emailpassword"];
              var _dispName = "HimanshuJoshi";
              MailMessage myMessage = new MailMessage();
              myMessage.To.Add(email);
              myMessage.From = new MailAddress(_email, _dispName);
              myMessage.Subject = subject;
              myMessage.Body = message;
              myMessage.IsBodyHtml = true;

              using (SmtpClient smtp = new SmtpClient())
              {
                  smtp.EnableSsl = true;
                  smtp.Host = "smtp.live.com";
                  smtp.Port = 587;
                  smtp.UseDefaultCredentials = false;
                  smtp.Credentials = new NetworkCredential(_email, _epass);
                  smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
                  smtp.SendCompleted += (s, e) => { smtp.Dispose(); };
                  await smtp.SendMailAsync(myMessage);
              }
          }
          catch (Exception ex)
          {

              throw ex;
          }


Что я уже пробовал:

я добавил свой адрес электронной почты здесь

увидев эту ошибку я думаю что я ошибаюсь где то здесь в этом smtp коде я не знаю точно где я ошибаюсь

1 Ответов

Рейтинг:
1

Bryian Tan

Пару вещей нужно проверить:

1. Убедитесь, что ваш адрес электронной почты erjoshi@outlook.com, и не erjoshi@hotmail.com

2. проверьте, включена ли в учетной записи двухфакторная аутентификация/двухэтапная проверка, если да, то вам необходимо настроить пароль приложения

3. Откройте другую учетную запись Hotmail/outlook и используйте ее для тестирования, чтобы устранить любые сомнения :)


Himanshu.A.Joshi

я также попытался изменить это на gmail

ВАР _email = "er.hajoshi@gmail.com";
ВАР _epass = диспетчер конфигураций.Параметр Appsettings["Emailpassword"];
var _dispName = " Химаншудзоши";
MailMessage myMessage = новый MailMessage();
мое сообщение.Для.Добавить(по электронной почте);
мое сообщение.От = Новый адрес электронной почты(_email, _dispName);
мое сообщение.Субъект = субъект;
мое сообщение.Тело = сообщение;
мое сообщение.IsBodyHtml = true;

использование (SmtpClient smtp = new SmtpClient())
{
smtp. EnableSsl = true;
протокол SMTP.Хост = "smtp.gmail.com";
протокол SMTP.Порт = 25;
протокол SMTP.UseDefaultCredentials = false;
smtp. Credentials = new NetworkCredential(_email, _epass);
протокол SMTP.DeliveryMethod = SmtpDeliveryMethod.Сеть;
протокол SMTP.SendCompleted += (ы, е) =&ГТ; { протокол SMTP.Распоряжаться(); };
ожидание smtp. SendMailAsync(myMessage);
}

теперь он показывает мне ошибку :-
Попытка подключения не удалась из-за того, что подключенная сторона не ответила должным образом через определенный промежуток времени, или установленное соединение не удалось из-за того, что подключенный хост не ответил 74.125.130.108: 25

я также пытался использовать 587 в качестве порта gmail, но не работал

что вы подразумеваете под двухфакторной аутентификацией ??

Bryian Tan

Порт Gmail должен быть 587

http://www.c-sharpcorner.com/uploadfile/bryianTan/Asp-Net-send-email-using-gmail/

Также убедитесь, что ваш брандмауэр/антивирус не блокирует соединение.

Hotmail - о двухэтапной верификации[^]

Google 2-Шаговая Верификация[^]