在Asp.Net中使用Office365 SMTP时出错

时间:2012-12-10 15:23:35

标签: asp.net smtp office365 smtp-auth

我正在使用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" />

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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