Asp.net 我应该授予ApplicationPoolIdentity什么特权才能发送电子邮件

Asp.net 我应该授予ApplicationPoolIdentity什么特权才能发送电子邮件,asp.net,iis,smtp,Asp.net,Iis,Smtp,我有以下代码在我的web应用程序中发送电子邮件: MailMessage mail = new MailMessage("frommail.com@xxxxx","tomail@xxxx.com"); mail.Subject = "Hi"; mail.Body = "Hello"; mail.IsBodyHtml = false; SmtpClient client = new SmtpClient("172.16.0.4", 25); clie

我有以下代码在我的web应用程序中发送电子邮件:

    MailMessage mail = new MailMessage("frommail.com@xxxxx","tomail@xxxx.com");
    mail.Subject = "Hi";
    mail.Body = "Hello";
    mail.IsBodyHtml = false;
    SmtpClient client = new SmtpClient("172.16.0.4", 25);
    client.Credentials = new System.Net.NetworkCredential("frommail", "password");
    client.Send(mail);
当我在开发服务器上运行应用程序时,发送邮件没有问题。但是,当我尝试安装在IIS上的应用程序时,会出现“发生一般错误…”错误。我99%确信这与权限有关,因为开发服务器是在登录帐户凭据下运行的,并且我的帐户是Administrators组的成员,因此它可以访问任何地方。 但我不明白我应该授予什么帐户什么特权才能在IIS中工作。应用程序池的标识为ApplicationIdentity


编辑:我已在开发的同一台计算机上设置了IIS。

您的Web服务器是否可以访问您正在定义的smtp服务器?我以前遇到过这个问题,在我的例子中,是防火墙阻止了Web服务器和SMTP之间的通信,还是您在同一台服务器上运行它们?我在IIS所在的同一台机器上开发。它与在开发服务器上运行时工作的计算机相同(默认为VS 1),但在IIS上尝试时不工作。是否已将SMTP服务器配置为IIS?你需要单独安装,不像内置的IIS Express。我已经安装了SMTP功能。我这么说是因为我可以在Features视图中看到该选项,并可以对其进行编辑。