【问题标题】:Mailbox unavailable. The server response was: Requested mail action not taken: mailbox unavailable信箱不可用。服务器响应为:未采取请求的邮件操作:邮箱不可用
【发布时间】:2018-11-19 06:05:52
【问题描述】:

我无法使用 yahoo 客户端发送电子邮件。相同的代码和端口适用于 gmail 凭据。

在我的本地系统中测试这个。

var fromAddress = new MailAddress("myname@yahoo.com", "My Name");
                    var toAddress = new MailAddress("validemail@yahoo.com", "");

                    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 中为我的项目创建了一个应用,并拥有客户端 ID 和客户端密码。

我找不到有关如何使用这些详细信息通过 Yahoo 发送电子邮件的任何信息。

【问题讨论】:

  • 您需要使用 OAuth2 身份验证,因为 Yahoo 更改了使用凭据发送邮件的策略(请参阅this issue),并且可能需要额外的 OAuth 库。
  • @TetsuyaYamamoto 你能否帮我提供一个代码示例,用于使用 oauth 与雅虎发送电子邮件。我找不到任何东西。那些,只谈论获取访问令牌,我不知道之后如何进行。谢谢。

标签: c# smtp yahoo-mail


【解决方案1】:

除了使用 oAuth2,您还可以在此处激活对您的 Yahoo 帐户中安全性较低的应用程序的访问:https://login.yahoo.com/account/security

SmtpClient 将正常工作。但是你会被雅虎重新注册以再次停用它。

【讨论】:

    【解决方案2】:

    需要从这个urlhttps://login.yahoo.com/account/security创建一个App密码

    点击管理应用密码:选择应用类型(其他如果你不知道) 点击生成 复制密码并在发送电子邮件时将此密码用作登录密码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-20
      • 2019-08-30
      • 2015-03-06
      • 2011-12-16
      • 2017-11-24
      • 2011-10-17
      • 1970-01-01
      相关资源
      最近更新 更多