【问题标题】:Error while using Office365 SMTP in Asp.Net在 Asp.Net 中使用 Office365 SMTP 时出错
【发布时间】:2012-11-28 00:53:07
【问题描述】:

我正在使用 Office365 网络应用程序 SMTP 从 Asp.Net 发送电子邮件,但它总是抛出以下错误!

System.Net.Mail.SmtpException:SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.1 客户端未在 System.Net.Mail.MailCommand.CheckResponse 进行身份验证

web.config 如下 - 更改了用户名和密码

<network enableSsl="true"  host="pod51007.outlook.com" userName="XXXX" password="XXXXX" port="587" defaultCredentials="false" />

【问题讨论】:

  • @Sandra Walters 您真的应该将此评论转换为答案,因为这是我解决上述错误问题的方法。我希望我能对它进行应得的投票。

标签: asp.net smtp office365 smtp-auth


【解决方案1】:

我遇到了同样的问题并解决了:

Dim client As SmtpClient = New SmtpClient()
client.Credentials = New System.Net.NetworkCredential("your user", "your password")
client.Port = 587 
client.Host = "smtp.office365.com"

这条指令很重要,没有它们是行不通的:

client.UseDefaultCredentials = False
client.DeliveryMethod = SmtpDeliveryMethod.Network
client.EnableSsl = True

【讨论】:

  • 这很有帮助!如果您需要在 web.config 中启用 SSL,则 enableSsl="true" 将在 .NET 4 中工作 - 在 stackoverflow.com/a/4973831/908677 上找到它,它对我有用。
【解决方案2】:

我认为错误消息具有误导性(与大多数 Microsoft 错误一样!) - 错误代码看起来非常类似于 SMTP 错误,而 5.7.1 是中继错误。您可能需要使用 Microsoft 提供的管理门户指定您的开发/生产公共 IP 地址。

【讨论】:

    猜你喜欢
    • 2014-09-16
    • 1970-01-01
    • 2018-11-01
    • 2023-03-04
    • 2016-01-18
    • 2015-06-30
    • 2020-06-18
    • 1970-01-01
    • 2013-07-18
    相关资源
    最近更新 更多