【发布时间】:2015-08-25 11:30:32
【问题描述】:
我在一个项目中工作,我将从数据库中检索用户的密码并将其邮寄到用户的电子邮件 ID。为此,我使用 SMTP 协议。但我无法从我的应用程序发送邮件。 我在我工作的公司中使用代理网络。 我认为使用代理网络是发送电子邮件时出错的原因。 是否有任何替代解决方案可以通过 SMTP 协议从代理网络发送电子邮件。
使用的代码。
MailMessage mm = new MailMessage("sender@gmail.com", txtEmail.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;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new NetworkCredential();
NetworkCred.UserName = "sender@gmail.com";
NetworkCred.Password = "senderpassword";
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);
lblMessage.ForeColor = Color.Green;
lblMessage.Text = "Password has been sent to your email address.";
异常图片:
【问题讨论】:
-
您遇到什么错误?异常详情?
-
也无关,但很重要。我希望这是您发送给用户的新重置密码,而不是他们的实际密码。您不应该以纯文本形式存储密码,甚至不应该加密。最佳实践状态密码需要加盐和散列
标签: c# proxy smtp smtpclient