如何通过代理服务器在asp.net中发送邮件

时间:2011-10-03 06:58:57

标签: .net asp.net

我正在尝试使用下面提到的代码通过asp.net发送邮件。 没有代理环境,它工作正常。但现在我正在使用代理服务器并使用代理设置连接到互联网。 它给出错误'发送邮件失败' 请有人帮忙吗?

MailMessage msg = new MailMessage("xyz@gmail.com", TextBox1.Text);
msg.Subject = TextBox2.Text;
msg.Body = TextBox3.Text;
SmtpClient s = new SmtpClient();
s.Host = "smtp.gmail.com";
s.EnableSsl = true;
s.Credentials = new NetworkCredential("xyz@gmail.com", "password");
s.Send(msg);

2 个答案:

答案 0 :(得分:2)

将此添加到您的web.config并将您的.proxy.address替换为代理服务器的地址:

<system.net>
    <defaultProxy enabled="true">
      <proxy proxyaddress="your.proxy.address"/>
    </defaultProxy>
  </system.net>

答案 1 :(得分:0)

它可以在没有防火墙的家庭连接中工作,但是要在使用公司防火墙的公司中使用相同的代码,您需要请求它们为您的smtp服务器打开SMTP端口。默认值为25 gmail使用587和465