我开始收到:客户端未经过身份验证以发送邮件错误

问题描述 投票:0回答:1

我编写了几个使用 SmtpClient 的 C# 应用程序。他们已经运行多年了。这周他们都停止工作并抛出以下异常:

System.Net.Mail.SmtpException
  HResult=0x80131500
  Message=The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.57 Client not authenticated to send mail. Error: 535 5.7.139 Authentication unsuccessful, the request did not meet the criteria to be authenticated successfully. Contact your administrator.   Source=System.Net.Mail

我不是一个系统人员,只是一个底层的程序员。我管理自己的 Microsoft 365 帐户和 Azure 帐户。

在 C# 应用程序中,我没有使用默认凭据:

    using System.Net.Mail;
...
           client.Credentials = new System.Net.NetworkCredential(FROM, PW, DOMAIN);

在 MS 365 管理中心中,当我选择“经过身份验证的 SMTP”时,出现以下错误:

Cannot process argument transformation on parameter 'Identity'. Cannot convert value "" to type "Microsoft.Exchange.Configuration.Tasks.RecipientIdParameter". Error: "Parameter values of type Microsoft.Exchange.Configuration.Tasks.RecipientIdParameter can't be empty. Specify a value, and try again. Parameter name: identity"

当我退出活动用户并再次输入时,所有“管理电子邮件应用程序”都会被选中。但我仍然收到上述错误,并且无法在我的应用程序中发送电子邮件。

我需要做什么来纠正这个问题?

c# authentication email office365 smtpclient
1个回答
0
投票

现在在所有 Office365 租户中禁用基本身份验证。在 2022 年 12 月 31 日之前,如果租户中的用户和应用无法连接,您可以重新启用受影响的协议。现在,没有人(您或 Microsoft 支持人员)可以在您的租户中重新启用基本身份验证。有关详细信息,请参阅在 Exchange Online 中弃用基本身份验证

System.Net.Mail
不支持
modern authentication
。相反,您可以考虑使用第三方 SMTP 客户端实现,例如 MailKit

© www.soinside.com 2019 - 2024. All rights reserved.