Но я не нашел никакого решения.
Код довольно простой, я отправляю электронное письмо только через smtp-mail.outlook.com.
Некоторое время мы не можем отправлять почту, выдается исключение:
SMTP-серверу требуется безопасное соединение или клиент не был аутентифицирован. Ответ сервера был: 5.7.57 Клиент не прошел проверку подлинности для отправки почты. Ошибка: 535 5.7.139 Аутентификация не удалась, базовая аутентификация отключена.
Поэтому я нашел и попробовал несколько решений:
- Очевидно, в Microsoft существует проблема с датой истечения срока действия пароля, поэтому некоторые говорят, что вам следует сменить пароль, даже если не установлены правила истечения срока действия. Изменил пароль, выдается та же ошибка.
- Создал новую учетную запись Hotmail, ничего не изменилось.
- Я активировал двухфакторную аутентификацию, сгенерировал пароль приложения, чтобы использовать его в качестве пароля, всегда одна и та же ошибка.
- Пытался использовать разные конфигурации smtp, например, смену порта или smtp-сервера. outlok.office365.com или smtp.live.com или код C# ниже — тот же результат.
- Пыталась использовать аутентификацию oAuth, пыталась зарегистрировать новое приложение, но невозможно, опция отключена.
Код: Выделить всё
var password = Helpers.PasswordEncyripter.Decrypt(mailConfig.Mai_Password);//Tried with the account password and the app password. SmtpClient smtpServer = new SmtpClient(mailConfig.Mail_OutgoingServer); //smtp-mail.outlook.com currently, tried with other possibilities. smtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;//Tried with and without this line. smtpServer.Port = mailConfig.Mail_Port.Value;//587,993,25 tried. smtpServer.UseDefaultCredentials = false; smtpServer.Credentials = new NetworkCredential(mailConfig.Mail_Sender, password); smtpServer.EnableSsl = mailConfig.Mail_SSL == true;//tried true or false smtpServer.Send(message);
Есть идеи?
Подробнее здесь: https://stackoverflow.com/questions/797 ... essful-bas