smtp.live.com - 邮箱不可用。服务器响应为:5.7.3请求的操作中止;用户未经过身份验证

时间:2014-08-09 07:17:14

标签: c# email

我已经在stackoverflow上阅读了其他答案。但这些解决方案都不适合我。

我正在尝试通过live.com发送电子邮件,但无法使用。

错误消息:

mailbox unavailable. The server response was: 5.7.3 requested action aborted;
user not authenticated

代码:

MailMessage mail = new MailMessage();
mail.From = new MailAddress("email@live.com");
mail.To.Add("someone@someone.com");
mail.Subject = "hello";
mail.Body = "awefkljj kawefl";
mail.IsBodyHtml = false;

SmtpClient smtp = new SmtpClient("smtp.live.com", 587);
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("email@live.com", "password");
smtp.Send(mail);

您是否可以使用上述代码发送电子邮件?

它在去年之前有效,但现在已经不再有效了。

改变了什么?

4 个答案:

答案 0 :(得分:20)

我遇到了一个问题,我无法使用某些主机上的smtp.live.com SMTP服务器发送电子邮件 - 特别是Azure主机。在我的情况下,SMTP尝试来自我以前从未用于登录的主机,因此尝试被5.7.3错误阻止:

  

邮箱不可用。服务器响应为:5.7.3请求的操作中止;用户未经过身份验证

解决方案是浏览帐户设置,在最近的活动中找到SMTP请求,然后选择"这是我":

Verify the SMTP attempt

答案 1 :(得分:1)

在我的情况下,我使用的是gmail帐户,但是却告诉了服务。 我改变了:

smtp.Host = "smtp.live.com";

要:

smtp.Host = "smtp.gmail.com";

这解决了我的问题。

答案 2 :(得分:1)

解决了我的问题:

smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new NetworkCredential("myaccount@live.com","mypassword");
在设置凭据

之前,

UseDefaultCredentials属性应设置为false

答案 3 :(得分:1)

如果您在2017年遇到此问题,并且您认为自己可能正在使用Office 365帐户,请务必将主机更改为" smtp.office365.com"。它对我有用。