当前,我们有一个发送电子邮件的Web表单,由于我们公司Office 365的迁移,该表单已停止工作数月。我在排除故障时已删除了所有其他代码,而仅运行电子邮件部分以获取以下错误:“ System.Net.Mail.SmtpException:SMTP服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.57 SMTP;客户端未通过身份验证以在“ MAIL FROM”期间发送匿名邮件。
我已经在Web /堆栈溢出中找到了许多具有相同错误代码的解决方案,尝试将代码更改为建议的解决方案,但没有任何运气。
尝试了很多不同的电子邮件别名,这些别名在我们的全局地址列表中列出,但我的帐户没有运气,端口(25,587),smtp地址不同,并且到目前为止没有运气。
多个用户说:“不幸的是,此代码对Office 365不再有效。出现的错误消息是SMTP服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.57 SMTP;客户端在下面链接的文章中,MAIL FROM [HE1PR05CA0133.eurprd05.prod.outlook.com]“期间未通过身份验证可发送匿名邮件。
Send SMTP email using System.Net.Mail via Exchange Online (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
似乎很多人都在发生这种情况,我想知道他们正在做什么来解决它?
答案 0 :(得分:0)
我通过为Outlook365帐户创建应用密码来解决了此问题。您可以按照以下步骤创建/管理应用密码。
转到我的帐户>>安全和隐私>>其他安全验证>>创建和管理应用密码
创建一个应用密码,并在您的代码中使用它。希望这能解决您的问题
答案 1 :(得分:0)
要启用应用密码,您必须对帐户进行双重身份验证,并且管理员(如果您的帐户在组织中)必须允许帐户(或组织中)使用应用密码 我不是 365 管理员,也不知道所有设置。
为 Outlook 等(客户端?)启用了现代身份验证, 但不适用于“SMTP AUTH”、“IMAP”和“POP” (我假设这是“默认设置”,建议除非您需要,否则不要启用现代身份验证。
https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission 几乎所有连接到 Office 365 或 Microsoft 365 中的 Exchange Online 邮箱的现代电子邮件客户端(例如,Outlook、Web 上的 Outlook、iOS 邮件、iOS 和 Android 版 Outlook 等)都不使用 SMTP AUTH 发送电子邮件.
因此,我们强烈建议您在 Exchange Online 组织中禁用 SMTP AUTH,并仅为仍然需要它的帐户(即邮箱)启用它。有两个设置可以帮助您做到这一点:
用于禁用(或启用)SMTP AUTH 的组织范围设置。
覆盖租户范围设置的每个邮箱设置。
也很高兴知道。将列出“smtp auth 客户端”的数量。 https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/mfi-smtp-auth-clients-report?view=o365-worldwide