如何使用CSharp和代理网络通过SMTP协议发送电子邮件?

时间:2015-08-24 17:25:07

标签: c# proxy smtp smtpclient

我正在一个项目中工作,我将从数据库中检索用户的密码并将其邮寄到用户的电子邮件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.";

例外图片

Exception:

1 个答案:

答案 0 :(得分:0)

您可以设置WebRequest

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