SmtpClient出现“请求失败;邮箱不可用”错误。

3

我正在尝试使用SmtpClient在雅虎smtp服务器发送电子邮件。

"smtp.mail.yahoo.com", 587

第一次尝试时,我收到一封电子邮件,告诉我要更改我的帐户设置,以允许smtp请求正常工作,但是在这样做之后,邮箱不可用。

SendMail方法:

public void SendMail(string name, string from, string to, string subject, string content)
    {
        try
        {
            using (var mail = new MailMessage())
            {
                const string email = @"mail@yahoo.com";
                const string pw = "***";

                var login = new NetworkCredential(email, pw);

                mail.From = new MailAddress(from);
                mail.To.Add(new MailAddress(to));
                mail.Subject = subject;
                mail.Body = content;
                mail.IsBodyHtml = true;

                try
                {
                    using (var client = new SmtpClient("smtp.mail.yahoo.com", 587))
                    {
                        client.EnableSsl = true;
                        client.DeliveryMethod = SmtpDeliveryMethod.Network;
                        client.UseDefaultCredentials = false;
                        client.Credentials = login;
                        client.Send(mail);
                    }
                }
                finally
                {
                    mail.Dispose();
                }
            }
        }
        catch(Exception ex)
        {

        }
    }

操作:

[HttpPost]
    public ActionResult ContactSend(Mail mail)
    {
        if(ModelState.IsValid)
        {
            var toAdress = @"tomail@yahoo.de";
            var fromAdress = mail.Email;
            var subject = mail.Betreff;
            var name = mail.Name;
            var content = new StringBuilder();
            content.Append("Name: " + name + "\n");
            content.Append("Email: " + fromAdress + "\n\n");
            content.Append(mail.Content);

            SendMail(name, fromAdress, toAdress, subject, content.ToString());

        }

        return RedirectToAction("Kontakt", "Home");
    }

我已经检查了所有的登录信息,因为我第一次尝试时从雅虎收到了电子邮件,它们似乎是有效的。

异常:

  • 响应 {System.Web.HttpResponseWrapper} System.Web.HttpResponseBase {System.Web.HttpResponseWrapper}
  • ex {"Postfach nicht verfügbar. Die Serverantwort war: Request failed; Mailbox unavailable"} System.Exception {System.Net.Mail.SmtpException}
  • Data {System.Collections.ListDictionaryInternal} System.Collections.IDictionary {System.Collections.ListDictionaryInternal} HResult -2146233088 int HelpLink null string
  • InnerException null System.Exception Message "Postfach nicht verfügbar. Die Serverantwort war: Request failed; Mailbox unavailable" string Source "System" string StackTrace " bei System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response)\r\n bei System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, MailAddress from, Boolean allowUnicode)\r\n bei System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String deliveryNotify, Boolean allowUnicode, SmtpFailedRecipientException& exception)\r\n bei System.Net.Mail.SmtpClient.Send(MailMessage message)\r\n bei Makler.Controllers.HomeController.SendMail(String name, String from, String to, String subject, String content) in C:\Users\Joshua\source\repos\Makler\Makler\Controllers\HomeController.cs:Zeile 90." string StatusCode MailboxUnavailable System.Net.Mail.SmtpStatusCode
  • TargetSite {Void CheckResponse(System.Net.Mail.SmtpStatusCode, System.String)} System.Reflection.MethodBase {System.Reflection.RuntimeMethodInfo}
  • 静态成员
  • 非公共成员
  • this {Makler.Controllers.HomeController} Makler.Controllers.HomeController
1个回答

2
"邮箱不可用"是雅虎邮件服务器的一个消息,但除了他们不想和你交流之外,意义并不大。
"To:"地址可能会出现空间不足或拼写错误,或者他们可能不喜欢您的IP地址或其他一百种原因之一。
您可以搜索雅虎邮件管理员帮助以查看是否有任何建议。
您已成功连接,但他们拒绝接受您的邮件。 您需要实际信息才能知道为什么。

3
在搜索雅虎邮件管理员后,我终于解决了问题。我的问题是发件人电子邮件与我在雅虎进行身份验证时使用的电子邮件不同。感谢您的帮助。 - Joshua H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接