Can';t在C#中发送邮件:system.dll中出错

Can';t在C#中发送邮件:system.dll中出错,c#,email,smtp,gmail,C#,Email,Smtp,Gmail,我正在尝试这个代码,以便使用用户输入的邮件将其密码发送给用户 SmtpClient client = new SmtpClient(); client.Port = 587; client.Host = "smtp.gmail.com"; client.EnableSsl = true; client.Timeout = 10000; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials

我正在尝试这个代码,以便使用用户输入的邮件将其密码发送给用户

SmtpClient client = new SmtpClient();
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("fzc.solutions@gmail.com", "********");
//de qui, a qui, objet, sujet
MailMessage mm = new MailMessage("bluepenlabs.aux@gmail.com", "fzc.solutions@gmail.com", "test", "test");
mm.BodyEncoding = UTF8Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
client.Send(mm);
以下是错误:

Une异常非gérée du type'System.Net.Mail.SmtpException's'est produite dans System.dll

信息补充:Le serveur SMTP要求连接 你的客户不是作家。服务提供商 était:5.5.1需要身份验证。了解更多信息,请访问

我在这里翻译:

“System.Net.Mail.SmtpException”类型的未处理异常 发生在System.dll中

其他信息:SMTP服务器需要安全连接 或者客户端没有经过身份验证。服务器响应为:5.5.1 需要身份验证。了解更多信息,请访问

当我尝试使用两个不同的Gmail帐户时,出现了相同的错误,我确信密码是正确的。当我将端口更改为465时,出现以下错误:

“System.Net.Mail.SmtpException”类型的未处理异常 发生在System.dll中 其他信息:操作超时已过期

我将超时设置为10000、20000甚至100000,但仍然一无所获

请帮忙,谢谢

请注意,如果您尝试了几次都没有成功,gmail会“锁定”您的帐户。我用我的私人gmail帐户尝试了不同的代码示例,但都失败了。当我读到GMail的要求后,我创建了一个新的GMail帐户,并获得了相同的代码

除了NetworkCredentials之外,该代码与您的代码非常相似。这是来自另一个StackOverflow问题的代码(使用我的私人帐户进行了尝试,但没有成功,因为多次尝试):


默认情况下,Gmail帐户禁用对低安全应用程序访问的访问。
通过在安全选项下访问电子邮件帐户中的低安全应用程序,可以修复此错误。

谢谢,是的,这是有效的,但我在Live SMTP中使用了相同的代码,并且有效!请提供您的答案,以确保不需要询问者进行澄清。
  //Code
  MailMessage mail = new MailMessage();
  mail.From = new System.Net.Mail.MailAddress("***@gmail.com");
  SmtpClient smtp = new SmtpClient();
  smtp.Port = 587; 
  smtp.EnableSsl = true;
  smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
  smtp.UseDefaultCredentials = false; 
  smtp.Credentials = new NetworkCredential(mail.From.Address, "****");  
  smtp.Host = "smtp.gmail.com";

  //recipient
  mail.To.Add(new MailAddress("***@gmail.com"));

  mail.IsBodyHtml = true;
  string st = "Test";

  mail.Body = st;
  smtp.Send(mail);