C# 错误SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:需要5.5.1身份验证???

C# 错误SMTP服务器需要安全连接,或者客户端未通过身份验证。服务器响应为:需要5.5.1身份验证???,c#,asp.net,email,smtp,gmail,C#,Asp.net,Email,Smtp,Gmail,这是我的密码 private void sendEmail() { var fromAddress = new MailAddress("gmail email", "name"); var toAddress = new MailAddress("email", "name"); const string fromPassword = "password"; const string sub

这是我的密码

private void sendEmail()
    {
            var fromAddress = new MailAddress("gmail email", "name");
            var toAddress = new MailAddress("email", "name");
            const string fromPassword = "password";
            const string subject = "ERROR";

            var smtp = new SmtpClient
            {
                Host = "smtp.gmail.com",
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
                UseDefaultCredentials = false,
                Timeout = 20000
            };
            using (var message = new MailMessage(fromAddress, toAddress)
            {
                Subject = subject,
                Body = "this is an example",
            })
            {
                smtp.Send(message);
            }
    }
当我调试应用程序时,它将在smtp.Sendmessage处停止,并显示smtp服务器需要安全连接或客户端未经身份验证的错误消息。服务器响应为:是否需要5.5.1身份验证


我该怎么办?有时有效,有时无效。

面对这个问题有多种可能性。检查以下事项

1重新检查您是否提供了正确的电子邮件和密码

2检查你的GMail帐户是否有两步验证

有时Gmail会停止发送邮件,所以登录你的Gmail帐户,它就可以开始工作了

4如果您有位置问题,如您的gmail帐户和生产服务器有不同的时区,请参阅此链接

访问不太安全的应用程序


希望这一次能对你有所帮助

有时有效,有时无效你这是什么意思?在哪种情况下有效?在哪种情况下它失败了?@Dnyanesh的情况都是一样的。当我试着在这之前5分钟运行它时,它起作用了。但在那之后,它开始显示错误。在这种情况下,您的会话可能需要5分钟。请检查会话超时值。