IIS7/Win2008 中的 SMTP 设置保存在哪里?

IIS7/Win2008 中的 SMTP 设置保存在哪里?

我在使用 SMTP 与我的 ASP.NET 应用程序配合使用时遇到问题(我收到的错误是“无法获取 IIS 拾取目录”)。该应用程序使用拾取目录将邮件发送到 SMTP。

我已经知道导致错误的原因,这是访问 SMTP 设置的权限问题(请参阅此链接http://www.laptev.com/?p=3)。我为该应用程序使用自定义 Windows 用户,该用户似乎没有访问 SMTP 设置的权限,当我使用 NetworkService 帐户时,一切正常,但当我使用自定义用户时,出现错误。现在,我试图找出 Windows2008/IIS7 中保存 SMTP 设置的哪个位置,以便向自定义用户提供所需的权限。

答案1

有几种解决方案。如果您在代码中明确设置了拾取文件夹,则无需从元数据库中获取它,也不必担心权限。如果您控制代码,那就是最简单的解决方案。

但是,如果有很多用户可能想要自动获取拾取文件夹,那么您需要授予额外的权限。

由于公开对拾取文件夹路径属性的只读访问权限是安全的,因此简单的解决方案是授予 IIS_WPG 组访问权限。cscript Metaacl.vbs “IIS://localhost/SMTPsvc” IIS_WPG RE

回答你关于它在哪里的问题,SMTP 没有移植到 IIS7 中的新系统。它仍然使用 c:\windows\system32\inetsrv\metabase.xml 中的旧元数据库设置。您可以使用 IIS 6 管理器进行管理。

答案2

最后,在花了很多时间寻找解决方案之后,我偶然发现了这个论坛主题: http://forums.iis.net/t/1032876.aspx?PageIndex=1

我下载并安装了 metabase explorer 工具(您必须下载 IIS6 资源工具包才能获得它),然后向我的自定义用户(如其中一篇帖子中所示)授予 LS、SMTPSvc 和 SMTPSvc/1 键的读取权限,它就成功了!出于某些未知原因,如果您只授予 smptSvc 键的权限,它就无法工作。

相关内容