I have a web app that sends emails to users using IIS 7 on Windows Server 2008. I would like these emails to be put in a Pickup directory instead of sending them directly to my Exchange 2010 mail server. Is there a way to configure Exchange 2010 to look at a pickup directory on another server or do I have to use an SMTP server on my IIS server to forward email to my Exchange server? What are the best practices for delivering email using a pickup directory?
The pickup directory has to be local to the 2010 hub (or edge) server.
or as you said...
The answer in general to which is better really depends on what you are trying to do and who will be doing it. If you are talking about a controlled automated process done by a service account the pickup directory is an acceptable solution. If you are giving this right to multiple users or anyone "untrustworthy" then I would recommend the SMTP relay and then set access restrictions on it.
In the case of a webapp like yours though it depends on how much you want to build resiliency into the system. If you have multiple hub servers (load balanced) then the SMTP is a better route because the pickup directory will only be on a single hub server and if you take it down for maintenance, chaos will ensue when the webapp tries to write to it. (Yes you could configure it on all hub servers if you were load balanced but the complexity here outweighs the single smtp)
Here Is the documentation on setting up the pickup directory if you need it.