【发布时间】:2017-08-30 02:35:41
【问题描述】:
这段代码在我运行时给我带来了一些问题。它不发送消息,它说错误在 smtp.Send(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.";
}
}
【问题讨论】:
-
您的问题与
asp.net或sql-server有什么关系? -
错误是什么?您能否将异常信息放入问题中?
-
如果您启用 SSL,请尝试使用端口 465。如果您禁用 SSL,请使用端口 587
-
当您尝试从某些应用程序登录时,Google 可能会阻止某些应用程序或设备的登录尝试。检查这个答案stackoverflow.com/a/32475872/2946329
-
不要将 google 用作 SMTP,除非您拥有企业帐户,否则通常会带来很多问题。如果这是在网页上,请使用您服务器的 SMTP。
标签: c#