【问题标题】:How to send email through SMTP protocol using CSharp and proxy network?如何使用 CSharp 和代理网络通过 SMTP 协议发送电子邮件?
【发布时间】: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


【解决方案1】:

你可以设置 WebRequest

    WebRequest.DefaultWebProxy = new WebProxy("127.0.0.1",8580);

【讨论】:

    猜你喜欢
    • 2014-02-11
    • 1970-01-01
    • 2011-02-08
    • 2019-11-05
    • 1970-01-01
    • 2021-11-16
    • 2018-01-09
    • 2016-10-30
    • 2018-09-01
    相关资源
    最近更新 更多