Почта недоступна. Ответ сервера: Запрошенное почтовое действие не выполнено: почтовый ящик недоступен.

Я не могу отправить электронное письмо с помощью клиента Yahoo. Тот же код и порт отлично работают с учетными данными Gmail.

Тестирование этого в моей локальной системе.

var fromAddress = new MailAddress("[email protected]", "My Name");
                    var toAddress = new MailAddress("[email protected]", "");

                    var smtp = new SmtpClient
                    {
                        Host = "smtp.mail.yahoo.com",
                        Port = 587,
                        EnableSsl = false,
                        DeliveryMethod = SmtpDeliveryMethod.Network,
                        UseDefaultCredentials = false,
                        Credentials = new NetworkCredential(fromAddress.Address, "P@s5word")
                    };

                    using (var message = new MailMessage(fromAddress, toAddress)
                    {
                        Subject = emailSubject,
                        Body = emailBody,
                        IsBodyHtml = true
                    })
                    {
                        //turning the security off for testing
                        ServicePointManager.ServerCertificateValidationCallback = delegate (object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
                        { return true; };
                        smtp.Send(message);
                    }

Также пытался включить SSL, но безуспешно.

ОБНОВЛЕНИЕ:

Я понимаю, что в этом случае необходимо использовать oAuth2. Я создал приложение в Yahoo для своего проекта и имею идентификатор клиента и секрет клиента.

Я не могу найти информацию о том, как использовать эти данные для отправки электронной почты с помощью Yahoo.


person Qwerty    schedule 19.11.2018    source источник
comment
Вам необходимо использовать аутентификацию OAuth2, так как Yahoo изменила политику отправки почты с учетными данными (см. -response-was-re">эта проблема), и, возможно, потребуется дополнительная библиотека OAuth.   -  person Tetsuya Yamamoto    schedule 19.11.2018
comment
@TetsuyaYamamoto Не могли бы вы помочь мне с образцом кода для отправки электронной почты с Yahoo с использованием oauth. Я не могу найти ни одного. Те, которые есть, говорят только о получении доступа к токену, и я не знаю, что делать дальше. Спасибо.   -  person Qwerty    schedule 19.11.2018


Ответы (2)


Помимо использования oAuth2, вы также можете активировать доступ к менее безопасным приложениям в своей учетной записи Yahoo здесь: https://login.yahoo.com/account/security

SmtpClient будет работать нормально. Но вас попросят снова отключить Yahoo.

person python_kaa    schedule 03.01.2019