SMTP服务器需要安全连接或客户端未经过身份验证。服务器响应是:5.5.1身份验证是否必需?

时间:2016-01-08 09:53:11

标签: c# .net smtp gmail

我正在使用Windows应用程序和C#,我正在使用以下代码发送电子邮件。代码在我的系统中无法正常运行:

MailMessage mailmsg = new MailMessage();
SmtpClient smtpclient = new SmtpClient();
mailmsg.To.Add(txtTo.Text);
mailmsg.CC.Add(txtCC.Text);
mailmsg.Subject = txtSubj.Text;
mailmsg.From = new MailAddress("buvana@gmail.com");
mailmsg.Body = txtbody.Text;

smtpclient.Port = 587;
smtpclient.Host = "smtp.gmail.com";
smtpclient.EnableSsl = true;
smtpclient.UseDefaultCredentials = false;
smtpclient.Credentials = new NetworkCredential("buvana@gmail.com", "*********");
smtpclient.Send(mailmsg);

如何解决这个问题。

收到此错误:

  

SMTP服务器需要安全连接或客户端未经过身份验证

     

服务器响应为:5.5.1需要身份验证

1 个答案:

答案 0 :(得分:0)

你的代码似乎没问题,useDefaultCredentials是假的,端口是587等等。

我认为问题在于您需要按照以下说明配置Gmail以允许安全性较低的应用:https://support.google.com/accounts/answer/6010255?hl=en

  

转到"不太安全的应用"我的帐户中的部分。

     

"访问不太安全的应用,"选择开启。 (Google Apps用户请注意:如果您的管理员已锁定不太安全的应用帐户访问权限,则会隐藏此设置。)

如果您使用双因素身份验证,则需要为应用程序创建新的应用程序密码并使用该密码登录。