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

【字号: 日期:2024-03-18浏览:42作者:雯心
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解决SMTP服务器需要安全连接,或者客户端未通过身份验证服务器响应为:5.5.1是否需要身份验证??

首先检查gmail的安全性相关问题。您可能已在gmail中启用了双重身份验证。如果您收到任何安全警报,还请检查您的gmail收件箱。在这种情况下,请检查@mjb的其他答案,如下所示

以下是我通常会首先检查的此类非常普通的问题

client.UseDefaultCredentials = true;

将其设置为false。

注意@Joe King的答案-必须先设置client.UseDefaultCredentials, 再设置client.Credentials

解决方法

我想从我的应用程序发送电子邮件,并且我编写了以下代码来发送邮件

MailMessage msg = new MailMessage(); msg.From = new MailAddress('mymailid'); msg.To.Add('receipientid'); msg.Subject = 'test'; msg.Body = 'Test Content'; msg.Priority = MailPriority.High; SmtpClient client = new SmtpClient(); client.Credentials = new NetworkCredential('mymailid','mypassword','smtp.gmail.com'); client.Host = 'smtp.gmail.com'; client.Port = 587; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.EnableSsl = true; client.UseDefaultCredentials = true; client.Send(msg);

我在本地主机上运行它,所以我在发送它时犯了什么错误。

当我发送按钮时,它给出了类似的错误

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

Web.config文件中的代码

<appSettings> <add key='webpages:Version' value='2.0.0.0' /> <add key='webpages:Enabled' value='false' /> <add key='PreserveLoginUrl' value='true' /> <add key='ClientValidationEnabled' value='true' /> <add key='UnobtrusiveJavaScriptEnabled' value='true' /> <add key='smtpServer' value='smtp.gmail.com' /> <add key='EnableSsl' value = 'true'/> <add key='smtpPort' value='587' /> <add key='smtpUser' value='sender@gmail.com' /> <add key='smtpPass' value='mypassword' /> <add key='adminEmail' value='sender@gmail.com' /> </appSettings> <system.net> <mailSettings> <smtp from='sender@gmail.com'><network host='smtp.gmail.com' password='mypassword' port='587' userName='sender@gmail.com' enableSsl='true'/> </smtp> </mailSettings> </system.net>

我该怎么做才能解决此错误并发送邮件?

相关文章: