System.Net.Sockets.SocketException:系统调用失败

时间:2014-12-23 08:35:19

标签: asp.net iis smtp

我有以下与VS2012的IIS Express一起运行的代码段。它能够发送电子邮件并与smtp服务器正常工作。 然后在IIS 7上将其部署为新应用程序。当我运行它时,我收到错误“System.Net.Sockets.SocketException:系统调用失败11.29.83.49:25”。

你知道导致错误的原因吗? 我是否想错配置IIS服务器以使用smtp服务器?

protected void Page_Load(object sender, EventArgs e)
{
    System.Net.Mail.MailMessage _message = new System.Net.Mail.MailMessage();
    _message.Subject = "Hi Testing";
    _message.SubjectEncoding = System.Text.Encoding.UTF8;
    _message.From = new System.Net.Mail.MailAddress("sender@gmail.com","Test");        
    _message.To.Add(new System.Net.Mail.MailAddress("receiver@gmail.com", "Test"));
    System.Net.Mail.AlternateView _content_view = System.Net.Mail.AlternateView.CreateAlternateViewFromString("Message Body");
    _message.AlternateViews.Add(_content_view);
    sendEmailMessage(_message);
}
public void sendEmailMessage(System.Net.Mail.MailMessage message)
{
    getClientFromConfig().Send(message);
}
private static System.Net.Mail.SmtpClient getClientFromConfig()
{
    System.Net.Mail.SmtpClient _client = new System.Net.Mail.SmtpClient();
    _client.Host = "host name/ip here";
    _client.Port = 25;
    return _client;
}   

有人可以建议让它运作吗?

1 个答案:

答案 0 :(得分:0)

我认为原因是防火墙。

打开IIS管理器 - >应用程序池并选择您的池,然后单击高级设置。

将您的身份更改为

  

网络服务

- 过程模型