Outlook SMTPClient服务器错误5.3.4 5.2.0

时间:2016-12-20 13:15:19

标签: c# outlook smtp smtpclient

我有一个MVC .NET Web应用程序,现在已经运行了一年的大部分时间。但是今天我们收到了错误代码,而我却无法找到解决问题的方法。

在应用程序中,我使用SMTPClient发送电子邮件。为此,我们使用Outlook电子邮件帐户。这一直工作到今天。我得到的错误代码是:

  

邮箱不可用。服务器响应为:5.3.4 554-554 5.2.0 STOREDRV.Deliver;交付结果横幅

这是我在我的应用程序中使用的代码。

var client = new SmtpClient
            {
                Host = WebConfigurationManager.AppSettings["EmailHost"],
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new System.Net.NetworkCredential(WebConfigurationManager.AppSettings["EmailSender"],
                    WebConfigurationManager.AppSettings["EmailSenderPassword"])
            };

WebConfigurationManager.AppSettings [“EmailHost”]在webconfig中设置为 smtp.live.com

在此之后我添加数据和当然需要的其他信息,但我省略了。当我们到达代码的最后部分时会抛出错误; client.Send(mail);

到目前为止我尝试过的东西都没用。

  • 登录outlook.live.com上的电子邮件帐户。
  • 更新了outlook.live.com上的电子邮件帐户安全设置。
  • smtp.live.com 更改为 smtp-mail.outlook.com
  • 将端口更改为25(这给了我同样的错误)和465(这给了我一个服务器未达到错误)
  • 将EnableSsl设置为false(当我这样做时客户端不起作用)

我在SO和其他网站上看到了几个相似或有相同错误代码的帖子。但他们要么没有得到答复,要么他们标记登录到电子邮件帐户作为解决方案,这对我不起作用。

当我们登录电子邮件帐户时,我们收到了Microsoft发布的有关新隐私和安全更新的更新通知。这是从9月16日开始的。我不知道是否有三个月的时间限制你需要同意。但一周前,该电子邮件帐户发送了一封电子邮件,昨天发送邮件失败了。我们同意弹出协议,但它仍然没有工作。

有人知道我现在可以尝试什么或导致此错误的原因是什么?

3 个答案:

答案 0 :(得分:10)

好的,我在我的系统上解决了这个问题,如下所示:

我发送的邮件的电子邮件地址与我发送的帐户不同,如下所示:

string from = "email@somwhere.com";

所以我改成了:

string from = "thecorrectemailaddress@outlook.com";

所以现在它工作得很好......快乐的日子

MailMessage mail = new MailMessage(from, to);

答案 1 :(得分:1)

5.2.0 STOREDEV的响应是由于电子邮件服务器上的SPF。 https://en.wikipedia.org/wiki/Sender_Policy_Framework

这里发生的是,当您从email@somwhere.com发送电子邮件时,您的电子邮件服务器尝试验证该电子邮件是合法的。因此,它询问somwhere.com允许哪些IP发送声称来自somwhere.com的电子邮件,因为您不拥有somwhere.com,它告诉您的电子邮件客户端它是欺诈的,并且您的电子邮件客户端完全拒绝了它作为垃圾邮件。

因此,当您将电子邮件更改为...@outlook.com时,outlook的SPF不会拒绝它为垃圾邮件,并且可以成功通过。

答案 2 :(得分:0)

我已在系统上解决此问题,如下所示: 发件人地址应类似于以下电子邮件地址- 1.“ thecorrectemailaddress@outlook.com” 2.“ thecorrectemailaddress@hotmail.co.uk” 在这里,我使用“ smtp.live.com”作为服务器域,端口是587。 如果防火墙有任何问题,您可以在防火墙中为同一端口587添加一条规则。