C# 当我运行此代码时,它在(smtp.Send(mm);)处给出错误,我不';我不知道怎么解决它

C# 当我运行此代码时,它在(smtp.Send(mm);)处给出错误,我不';我不知道怎么解决它,c#,C#,这段代码在运行时给了我一些问题。它不发送消息,并表示错误在smtp上。发送(mm);我解决不了 if (!string.IsNullOrEmpty(password)) { System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage("eden.elao@gmail.com", Username.Text.Trim()); mm.Subject = "Password Recov

这段代码在运行时给了我一些问题。它不发送消息,并表示错误在smtp上。发送(mm);我解决不了

    if (!string.IsNullOrEmpty(password))
    {
        System.Net.Mail.MailMessage mm = new System.Net.Mail.MailMessage("eden.elao@gmail.com", Username.Text.Trim());
        mm.Subject = "Password Recovery";
        mm.Body = string.Format("Hi {0},<br /><br />Your password is {1}.<br /><br />Thank You.", username, password);
        mm.IsBodyHtml = true;
        System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
        smtp.Host = "smtp.gmail.com";
        smtp.EnableSsl = true;
        System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
        NetworkCred.UserName = "sender@gmail.com";
        NetworkCred.Password = "<Password>";
        smtp.UseDefaultCredentials = true;
        smtp.Credentials = NetworkCred;
        smtp.Port = 587;
        smtp.Send(mm); // the error is here.
        lblMessage.ForeColor = System.Drawing.Color.Green;
        lblMessage.Text = "Password has been sent to your email address.";
    }
    else
    {
        lblMessage.ForeColor = System.Drawing.Color.Red;
        lblMessage.Text = "This email address does not match our records.";
    }
}
if(!string.IsNullOrEmpty(密码))
{
System.Net.Mail.MailMessage mm=新系统.Net.Mail.MailMessage(“伊甸园。elao@gmail.com,Username.Text.Trim());
mm.Subject=“密码恢复”;
mm.Body=string.Format(“您好{0},

您的密码是{1}.

谢谢。”,用户名,密码); mm.IsBodyHtml=true; System.Net.Mail.SmtpClient smtp=新系统.Net.Mail.SmtpClient(); smtp.Host=“smtp.gmail.com”; smtp.EnableSsl=true; System.Net.NetworkCredential NetworkCred=新系统.Net.NetworkCredential(); NetworkCred.UserName=”sender@gmail.com"; NetworkCred.Password=“”; smtp.UseDefaultCredentials=true; smtp.Credentials=NetworkCred; smtp.Port=587; smtp.Send(mm);//错误在这里。 lblMessage.ForeColor=System.Drawing.Color.Green; lblMessage.Text=“密码已发送到您的电子邮件地址。”; } 其他的 { lblMessage.ForeColor=System.Drawing.Color.Red; lblMessage.Text=“此电子邮件地址与我们的记录不匹配。”; } }
我相信您在smtp服务器上遇到了安全问题。我通过在下面几行中提供我真实的gmail帐户信息使其正常工作:
似乎不起作用

  NetworkCred.UserName = "myEmail@gmail.com";
  NetworkCred.Password = "myPassword";
并打开我的gmail帐户设置,允许不太安全的应用程序访问它

仅供参考,对于其他人来说,这是我更改之前的错误

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


您的问题与
asp.net
sql server
有什么关系?错误是什么?您可以将异常信息放入问题中吗?如果您正在启用SSL,请尝试端口465。如果您禁用SSL使用端口587,当您尝试从某些应用登录时,Google可能会阻止某些应用或设备的登录尝试。勾选这个答案不要使用谷歌作为SMTP,除非你有一个企业帐户通常会带来很多问题。如果这在网页上,请使用服务器的SMTP。