How to Configure the Pickup Directory

Microsoft Exchange Server 2007 will reach end of support on April 11, 2017. To stay supported, you will need to upgrade. For more information, see Resources to help you upgrade your Office 2007 servers and clients.

 

Applies to: Exchange Server 2007, Exchange Server 2007 SP1, Exchange Server 2007 SP2, Exchange Server 2007 SP3

This topic explains how to use the Exchange Management Shell to configure the Pickup directory in Microsoft Exchange Server 2007.

By default, the Pickup directory exists on every Exchange 2007 computer that has the Hub Transport server role or the Edge Transport server role installed. Correctly formatted e-mail message files that you copy to the Pickup directory are submitted for delivery. The Pickup directory is used by administrators for mail flow testing, or by applications that must create and submit their own messages.

Before You Begin

To perform the following procedures, the account you use must be delegated the following:

  • Exchange Server Administrator role and local Administrators group for the target server

To perform the following procedures on a computer that has the Edge Transport server role installed, you must log on by using an account that is a member of the local Administrators group on that computer.

For more information about permissions, delegating roles, and the rights that are required to administer Exchange Server 2007, see Permission Considerations.

Note

You cannot configure the Pickup directory by using the Exchange Management Console. To configure the Pickup directory, you must use the Exchange Management Shell. For more information about how to use the Exchange Management Shell, see Using the Exchange Management Shell.

Configuring the Pickup Directory Location

By default, the Pickup directory is located at C:\Program Files\Microsoft\Exchange Server\TransportRoles\Pickup. The directory must be local to the Exchange 2007 computer.

To use the Exchange Management Shell to configure the location of the Pickup directory

  • Run the following command:

    Set-TransportServer <Identity> -PickupDirectoryPath <LocalFilePath>
    

    For example, to set the Pickup directory to C:\Pickup Directory on an Exchange 2007 computer named Exchange01, run the following command:

    Set-TransportServer Exchange01 -PickupDirectoryPath "C:\Pickup Directory"
    

Setting the value of the PickupDirectoryPath parameter to $null disables the Pickup directory. The directory that is specified by the PickupDirectoryPath parameter and the ReplayDirectoryPath parameter can't be the same.

Changing the location of the Pickup directory does not copy any existing message files from the old Pickup directory to the new Pickup directory. The new Pickup directory location is active almost immediately after the configuration change, but any existing message files are left in the old Pickup directory.

The following permissions are required on the Pickup directory:

  • Administrator: Full Control

  • System: Full Control

  • Network Service: Read, Write, and Delete Subfolders and Files

By default, the Microsoft Exchange Transport service uses the security credentials of the Network Service user account to create the new Pickup directory and apply the correct permissions. If the new Pickup directory does not already exist, and the Network Service account has the rights that are required to create folders and apply permissions at the new location, the new Pickup directory is created, and the correct permissions are applied to the Pickup directory. If the new Pickup directory already exists, the existing folder permissions are not checked. Whenever you move the pickup directory by using the PickupDirectoryPath parameter with the Set-TransportServer cmdlet, it is always a good idea to verify that the new Pickup directory exists and that the new Pickup directory has the correct permissions applied to it. If your change to the Pickup directory is not successful, you can create the new Pickup directory and apply the correct permissions to it before you use the PickupDirectoryPath parameter with the Set-TransportServer cmdlet.

Configuring the Maximum Size for Message Headers That Are Accepted by the Pickup Directory

By default, the maximum size for the header part of a message that can be processed by the Pickup directory is 64 KB. Messages that contain headers that are larger than the specified maximum value are rejected by the Exchange 2007 server.

To use the Exchange Management Shell to configure the maximum size for message headers that are accepted by the Pickup directory

  • Run the following command:

    Set-TransportServer <Identity> -PickupDirectoryMaxHeaderSize <HeaderSize>
    

    For example, to set the maximum size for message headers that are accepted by the Pickup directory to 96 KB on an Exchange 2007 computer named Exchange01, run the following command:

    Set-TransportServer Exchange01 -PickupDirectoryMaxHeaderSize 96KB
    

When you enter a value for the PickupDirectoryMaxMessageSize parameter, qualify the value with one of the following units:

  • B (bytes)

  • KB (kilobytes)

  • MB (megabytes)

  • GB (gigabytes)

Unqualified values are treated as bytes. The valid input range for the PickupDirectoryMaxHeaderSize parameter is 32768 to 2147483647 bytes.

Configuring the Maximum Number of Recipients for Messages That Are Accepted by the Pickup Directory

By default, the maximum number of recipients in a message that can be processed by the Pickup directory is 100. Messages that contain more recipients than the specified maximum value are rejected by the Exchange 2007 server.

To use the Exchange Management Shell to configure the maximum number of recipients in a message that is accepted by the Pickup directory

  • Run the following command:

    Set-TransportServer <Identity> -PickupDirectoryMaxRecipientsPerMessage <NumberOfRecipients>
    

    For example, to set the maximum number of recipients in a message that is accepted by the Pickup directory to 200 on an Exchange 2007 computer named Exchange01, run the following command:

    Set-TransportServer Exchange01 -PickupDirectoryMaxRecipientsPerMessage 200
    

The valid input range for the PickupDirectoryMaxRecipientsPerMessage parameter is 1 to 10000.

Configuring the Maximum Rate of Message Processing for the Pickup Directory

By default, the Pickup directory can process messages at a rate of 100 messages per minute. Limiting the rate of message processing helps prevent performance issues that are caused by processing lots of messages in the Pickup directory.

To use the Exchange Management Shell to configure the maximum rate of message processing by the Pickup directory

  • Run the following command:

    Set-TransportServer <Identity> -PickupDirectoryMaxMessagesPerMinute <MessagesPerMinute>
    

    For example, to set the maximum rate of message processing by the Pickup directory to 200 messages per minute on an Exchange 2007 computer named Exchange01, run the following command:

    Set-TransportServer Exchange01 -PickupDirectoryMaxMessagesPerMinute 200
    

The valid input range for the PickupDirectoryMaxMessagesPerMinute parameter is 1 to 20000. The Pickup directory scans for new message files once every 5 seconds, or 12 times per minute. This 5-second polling interval is not configurable. This means the maximum number of messages that can be processed during each polling interval is the value that you assign to the PickupDirectoryMaxMessagesPerMinute parameter divided by 12 (PickupDirectoryMaxMessagesPerMinute/12). By default, a maximum of just over 8 messages can be processed during each 5-second polling interval.

The rate of message processing for both the Pickup directory and Replay directory is specified by the PickupDirectoryMaxMessagesPerMinute parameter. Each directory can independently process message files at the rate that is specified by the PickupDirectoryMaxMessagesPerMinute parameter. By default, the Pickup directory can process 100 messages per minute, and the Replay directory can process 100 messages per minute simultaneously.

For detailed syntax and parameter information, see Set-TransportServer.

For More Information

For more information about the Pickup directory, see Managing the Pickup Directory.