在 Asp.Net 中使用 Office365 SMTP 时出错
Posted
技术标签:
【中文标题】在 Asp.Net 中使用 Office365 SMTP 时出错【英文标题】:Error while using Office365 SMTP in Asp.Net 【发布时间】: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 您真的应该将此评论转换为答案,因为这是我解决上述错误问题的方法。我希望我能对它进行应得的投票。 【参考方案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 中工作 - 在 ***.com/a/4973831/908677 上找到它,它对我有用。【参考方案2】:我认为错误消息具有误导性(与大多数 Microsoft 错误一样!) - 错误代码看起来非常类似于 SMTP 错误,而 5.7.1 是中继错误。您可能需要使用 Microsoft 提供的管理门户指定您的开发/生产公共 IP 地址。
【讨论】:
以上是关于在 Asp.Net 中使用 Office365 SMTP 时出错的主要内容,如果未能解决你的问题,请参考以下文章
在哪里为 office365 sharepoint 站点编写 C# 代码
在 Web 应用程序中集成 Office 365 Excel Online
从 ASP.NET 将网站添加到 SharePoint Online 失败