Cannot get IIS pickup directory

Some notes about configuring the virtual SMTP server on window 2008.

IIS7 doesn't have the virtual SMTP server that was found in IIS6.

You essentially have to install a bit of IIS 6 in order to get the virtual SMTP server component.

This is done through the server manager - features - add feature.

It will install a few other bits when you do this.

A couple of stumbling blocks that can cause a head ache:

- by default the the mail pick up directory does not have the correct permissions; you need to grant read/write to the IIS_IUSRS group (this will then encompass all the accounts that the threads run under, so for example NETWORK SERVICE is part of this group along with any other pseudo accounts that get created with your application pools.

- If you are using net.mail.smtpdeliverymethod.PickupDirectoryFromIis you might hit another problem - exception saying it can't find the pick up directory. This will likely happen if you are using an app pool that doesn't use network service as its identity because the pseudo accounts that are created for the app pools don't have permission to read the metabase to find out where the iis pick up directory is.... If your app pool uses the network service account you won't have this problem as it is able to read the metabase already.

- So you can mess around with metabase permissions, or you can use the built in network service account, or you can just specify in the web.config for the website where the pick up directory is, which by default is C:\inetpub\mailroot\Pickup

As long as the IIS_IUSRS group has write permission on the folder everything should work.

You can either manually edit the web.config to all this information or you can do it through the iis7 management console in the - smtp email part. Which is slighly ironic given that the actual smtp service is being provided by what is essentially IIS 6.

There is something quite cosy and familar about IIS 6 though.

Post a comment