I have the same issue. How do I user the metabase explorer to grant permissions
Someone created an application Pool callled "DotNet20" with an identity of IWAM_<servername>. The IWAM account did not have permission to the Pickup directory which I gave it. I ran aspnet_regiis -ga IWAM_<servername>. I added it to the list of users
with permissions to Pickup (fullcontrol). Checked its membership with the IIS_WPG group of which it is a member. Still did not work. I don't want to change the identity of the application role as I figure someone set it that way for a reason. Everyone in
these forums keeps saying change the Metabase but no one says how. I never even heard of the Metabase until I started researching this error message, so I am not acquainted with the means of updating it.
I tried downloading Metabase.exe, but it turns out to be a zip of a vbs file which is run from the command line using known parameters, which are not know to me.
I had the same problems as described by the original poster. I found that the folder pemissions on the pickup folder were not the problem and that the aspnet_regiis command did not solve the problem.
I opened the metadata using the Metadata Explorer and saw that the aspnet_regiis command did set permissions on the highest level tree item. But I saw that those permissions were not being proprogated to the lower level tree items. I manually gave
permission to my Account Pool user to the LM, LM\Smtpsrv\ and LM\Smtpsrv\1 folders and it solved the problem.
Looking at the permission settings I do not see a way to tell it to inherit permissions from it's parent. Then I noticed when trying to view the permissions of some of the folder items it gave an error saying it's permissions were defined by the parent
and asked if I wanted to open the parents permissions or copy those permissions and open that tree item.
To see what would happen I choose copy which was the "No" answer. It copied them and opened that tree item but now that item was no longer inheriting it's permissions from the parent and there wasn't any option to make it do so.
It seems pretty possible that someone before me hit the "No" button while opening those trees up and that's what caused the problem.
I have yet to find out how to change the tree items to inherit permissions from it's parent again. I'm sure I'll figure that out eventually.
Just wanted to write here since this topic helped me find the problem and hopefully this can help someone else solve their problem.
Is somebody still experiencing this issue. By default only Network Service/Administrators/Local Service have access to SMTP key in metabase. You need to grant read permission to your account, I just gave "everyone" read in order not to deal with all possible
permutations of accounts.
Also download IIS resource kit and use Metabase Explorer utility to modify permissions, it's much more intuitive then using command line tool mentioned above. After all that's why we chose IIS not Apache.
Sorry to re-awaken an old thread, but I'm running into the same problem on server 2008R2...would the solution listed for IIS6 still apply? Does IIS metabase explorer work on IIS7?
This is a really old post, but never answer correctly. The correct answer to this questions is that he should have not have used the delivery type of SmtpDeliveryMethod.PickupDirectoryFromIis. Instead, he should have used SmtpDeliveryMethod.Network as
he was using the network.
Using PickUpDirectoryFromIis is only necessary if you DONT use an SMTP server, and want to drop the email directly in the IIS 6 SMTP pickup directory. If you do this, however, the permissions must be set to access the Metabase, which is where the directory
location is stored.
Even if you are using the IIS 6 SMTP server and can't resolve the permissions issue, you can just look up what the directory is, and then use
SmtpDeliveryMethod.SpecifiedPickUpDirectory and then in the SmtpClient, just specify what the directory is, like this:
I just had the same issue (wow, 8 years later!). Using: client.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis works perfectly in c#. I got a VB.Net web app and it did not work. Quick solution is to use: client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory
instead. And then Specify the pickup directory (the default being: C:\inetpub\mailroot\Pickup)
joeller
1 Post
Re: Cannot get IIS pickup directory. NEED HELP
Sep 16, 2008 05:05 PM|LINK
I have the same issue. How do I user the metabase explorer to grant permissions
Someone created an application Pool callled "DotNet20" with an identity of IWAM_<servername>. The IWAM account did not have permission to the Pickup directory which I gave it. I ran aspnet_regiis -ga IWAM_<servername>. I added it to the list of users with permissions to Pickup (fullcontrol). Checked its membership with the IIS_WPG group of which it is a member. Still did not work. I don't want to change the identity of the application role as I figure someone set it that way for a reason. Everyone in these forums keeps saying change the Metabase but no one says how. I never even heard of the Metabase until I started researching this error message, so I am not acquainted with the means of updating it.
I tried downloading Metabase.exe, but it turns out to be a zip of a vbs file which is run from the command line using known parameters, which are not know to me.
sqls
1 Post
Re: Cannot get IIS pickup directory. NEED HELP
May 05, 2009 08:38 PM|LINK
I know this topic is a bit old but..
I had the same problems as described by the original poster. I found that the folder pemissions on the pickup folder were not the problem and that the aspnet_regiis command did not solve the problem.
I opened the metadata using the Metadata Explorer and saw that the aspnet_regiis command did set permissions on the highest level tree item. But I saw that those permissions were not being proprogated to the lower level tree items. I manually gave permission to my Account Pool user to the LM, LM\Smtpsrv\ and LM\Smtpsrv\1 folders and it solved the problem.
Looking at the permission settings I do not see a way to tell it to inherit permissions from it's parent. Then I noticed when trying to view the permissions of some of the folder items it gave an error saying it's permissions were defined by the parent and asked if I wanted to open the parents permissions or copy those permissions and open that tree item.
To see what would happen I choose copy which was the "No" answer. It copied them and opened that tree item but now that item was no longer inheriting it's permissions from the parent and there wasn't any option to make it do so.
It seems pretty possible that someone before me hit the "No" button while opening those trees up and that's what caused the problem.
I have yet to find out how to change the tree items to inherit permissions from it's parent again. I'm sure I'll figure that out eventually.
Just wanted to write here since this topic helped me find the problem and hopefully this can help someone else solve their problem.
http://sqls.net
steve schofi...
5682 Posts
MVP
Moderator
Re: Cannot get IIS pickup directory. NEED HELP
May 11, 2009 03:01 AM|LINK
Here is an article describing how to set Metabase acls.
http://support.microsoft.com/kb/326902
Steve Schofield
Windows Server MVP - IIS
http://iislogs.com/steveschofield
http://www.IISLogs.com
Log archival solution
Install, Configure, Forget
artisticchee...
74 Posts
Issue solved
Oct 20, 2009 03:08 PM|LINK
Is somebody still experiencing this issue. By default only Network Service/Administrators/Local Service have access to SMTP key in metabase. You need to grant read permission to your account, I just gave "everyone" read in order not to deal with all possible permutations of accounts.
Also download IIS resource kit and use Metabase Explorer utility to modify permissions, it's much more intuitive then using command line tool mentioned above. After all that's why we chose IIS not Apache.
Here is screenshot how permissions will look like
http://drop.io/artisticcheese/asset/capture-png
e1ny
346 Posts
Re: Issue solved
Aug 29, 2010 02:30 PM|LINK
Greg Hollywo...
7 Posts
Re: Cannot get IIS pickup directory. NEED HELP
Apr 21, 2011 10:30 PM|LINK
This is a really old post, but never answer correctly. The correct answer to this questions is that he should have not have used the delivery type of SmtpDeliveryMethod.PickupDirectoryFromIis. Instead, he should have used SmtpDeliveryMethod.Network as he was using the network.
Using PickUpDirectoryFromIis is only necessary if you DONT use an SMTP server, and want to drop the email directly in the IIS 6 SMTP pickup directory. If you do this, however, the permissions must be set to access the Metabase, which is where the directory location is stored.
Even if you are using the IIS 6 SMTP server and can't resolve the permissions issue, you can just look up what the directory is, and then use
SmtpDeliveryMethod.SpecifiedPickUpDirectory and then in the SmtpClient, just specify what the directory is, like this:
SmtpClient serv = new SmtpClient();
serv.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
serv.PickupDirectoryLocation = @"c:\Directory";
Greg
mmmmlyy
1 Post
Re: Cannot get IIS pickup directory. NEED HELP
Apr 26, 2011 05:56 AM|LINK
robasta
18 Posts
Re: Cannot get IIS pickup directory. NEED HELP
Feb 24, 2012 09:30 AM|LINK
iis smtp c# vb.net PickupDirectoryFromIIS
qbernard
5019 Posts
MVP
Moderator
Re: Cannot get IIS pickup directory. NEED HELP
Feb 26, 2012 09:26 AM|LINK
Bernard Cheah