Ответ сервера: 5.7.57 SMTP - Office 365 - PullRequest
1 голос
/ 12 апреля 2019

В настоящее время у нас есть веб-форма для отправки электронных писем, которая перестала работать несколько месяцев назад с переносом Office 365 в нашу компанию.Я удалил весь другой код при устранении неполадок и просто запустил почтовую часть, чтобы получить следующую ошибку: «System.Net.Mail.SmtpException: SMTP-сервер требует безопасного соединения или клиент не прошел проверку подлинности. Ответ сервера был: 5.7.57SMTP; Клиент не прошел проверку подлинности для отправки анонимной почты во время MAIL FROM ".

Я нашел много решений для переполнения web / stack с одним и тем же кодом ошибки, попытался изменить код на предлагаемые решения и не повезло,

Перепробовал много разных псевдонимов электронной почты, которые перечислены в нашем глобальном списке адресов, но мне не повезло с моей учетной записью, разными портами (25 587), разными адресами smtp, и до сих пор не повезло.

Несколько пользователей заявляют: «К сожалению, этот код больше не действителен в Office 365. Появляется сообщение об ошибке: SMTP-сервер требует безопасного подключения или клиент не прошел проверку подлинности. Ответ сервера был: 5.7.57 SMTP; Клиент не прошел проверку подлинностиотправить анонимную почту во время ПОЧТЫ ОТ [HE1PR05CA0133.eurprd05.prod.outlook.com] "по статье, указанной ниже.

Отправка электронной почты SMTP с использованием System.Net.Mail через Exchange Online (Office 365)

Мой код показан ниже.

    Dim mail As MailMessage = New MailMessage
    mail.From = New MailAddress("email12345@company.com")
    mail.To.Add("email12345@company.com")
    mail.Subject = "Test"
    mail.IsBodyHtml = False
    mail.Body = "Test"

    Dim SmtpServer As SmtpClient = New SmtpClient

    SmtpServer.Host = "smtp.office365.com"
    SmtpServer.Port = 587
    SmtpServer.UseDefaultCredentials = False
    SmtpServer.Credentials = New System.Net.NetworkCredential("MyEmail", "MyPass")
    SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network
    SmtpServer.EnableSsl = True
    SmtpServer.TargetName = "STARTTLS/smtp.office365.com"
    Try
        SmtpServer.Send(mail)
    Catch ex As Exception
        Response.Write(ex.ToString)
    End Try

Поскольку, похоже, это происходит со многими людьми, я хотел бы знать, что они делают, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 19 июня 2019

Я решил эту проблему, создав пароль приложения для моей учетной записи outlook365. Вы можете создать / управлять паролем приложения следующим образом.

Перейдите в раздел Моя учетная запись >> Безопасность и конфиденциальность >> Дополнительная проверка безопасности >> Создание и управление паролями приложений

Создайте пароль приложения и используйте его в своем коде. Надеюсь, что это решит вашу проблему

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