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

我有一个问题让SMTP与我有一个ASP.NET应用程序(我得到的错误是“无法获取IIS拾取目录”)。 该应用程序使用拾取目录将邮件传递到SMTP。

我已经知道是什么导致了错误,这是访问SMTP设置的权限问题(请参阅此链接http://www.laptev.com/?p=3 )。 我使用该应用程序的自定义Windows用户似乎没有访问SMTP设置的权限,当我使用NetworkService帐户,一切工作正常,但是当我使用我的自定义用户,我得到的错误。 现在我想弄清楚在Windows2008 / IIS7中保存SMTP设置的位置,以便为我的自定义用户提供所需的权限。

有几个解决scheme。 如果您明确地在代码中设置代答文件夹,那么它不需要从元数据库中获取,您不必担心权限。 如果你控制代码,这是最简单的解决scheme。

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

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

为了回答你的问题,SMTP没有移植到IIS7中的新系统。 它仍使用c:\​​ windows \ system32 \ inetsrv \ metabase.xml中的旧元数据库设置。 您可以使用IIS 6pipe理器来pipe理它。

最后,花了好几个小时寻找解决scheme后,我遇到了这个论坛主题: http : //forums.iis.net/t/1032876.aspx?PageIndex=1

我下载并安装了元数据库浏览器工具(您必须下载IIS6资源工具包才能获得),然后在LS,SMTPSvc和SMTPSvc / 1密钥上为我的自定义用户(如其中一个post所示)提供了读取权限, ! 由于某些未知的原因,如果您只授予了smptSvc密钥的权限,则不起作用。