kwi*_*ith 7 asp.net smtp office365
目前,我们有一个发送电子邮件的 Web 表单,该表单在几个月前随着我们公司 Office 365 的迁移而停止工作。我在排除故障时消除了所有其他代码,只运行电子邮件部分以获取以下错误:“System.Net.Mail.SmtpException:SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.57 SMTP;在 MAIL FROM "期间,客户端未经过身份验证以发送匿名邮件。
我在网络/堆栈溢出上找到了许多具有相同错误代码的解决方案,尝试将代码更改为建议的解决方案,但没有成功。
尝试了我们的全局地址列表中列出的许多不同的电子邮件别名,但我的帐户、不同的端口 (25,587)、不同的 smtp 地址都没有成功,到目前为止还没有成功。
多个用户表示“不幸的是,此代码对 Office 365 不再有效。出现的错误消息是 SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.57 SMTP;客户端未通过身份验证在 MAIL FROM [HE1PR05CA0133.eurprd05.prod.outlook.com] 期间发送匿名邮件”在下面链接的文章中。
使用 System.Net.Mail 通过 Exchange Online 发送 SMTP 电子邮件 (Office 365)
我的代码如下所示。
Dim mail As MailMessage = New MailMessage
mail.From = New MailAddress("email12345@company.com")
mail.To.Add("email12345@company.com")
mail.Subject = "Test"
mail.IsBodyHtml = False
mail.Body = "Test"
Dim SmtpServer As SmtpClient = New SmtpClient
SmtpServer.Host = "smtp.office365.com"
SmtpServer.Port = 587
SmtpServer.UseDefaultCredentials = False
SmtpServer.Credentials = New System.Net.NetworkCredential("MyEmail", "MyPass")
SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network
SmtpServer.EnableSsl = True
SmtpServer.TargetName = "STARTTLS/smtp.office365.com"
Try
SmtpServer.Send(mail)
Catch ex As Exception
Response.Write(ex.ToString)
End Try
Run Code Online (Sandbox Code Playgroud)
似乎很多人都遇到了这种情况,我想知道他们正在做什么来解决它?
小智 2
我通过为我的 Outlook365 帐户创建应用程序密码解决了这个问题。您可以按如下方式创建/管理应用程序密码。
转到我的帐户>>安全和隐私>>附加安全验证>>创建和管理应用程序密码
创建应用程序密码并在代码中使用它。希望这能解决您的问题
归档时间: |
|
查看次数: |
10949 次 |
最近记录: |