在 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 失败

使用Office 365账号配置SMTP中继服务器

lduan office 365 安装Office 365 ProPlus 四

mac怎么装免费office365