Exchange 2016: E-Mail PickUp directory

The e-mail pickup directory is no longer used very often, but today was another case with a somewhat more specialized software...

The e-mail pickup directory is a normal folder in the file system that is monitored by Exchange for new e-mails; if an e-mail lands in this folder, Exchange will attempt to deliver the mail. Programs can therefore drop files that are formatted accordingly into the directory and Exchange will take care of the delivery.

By default, the pickup directory is located under the following path:

%ExchangeInstallPath%TransportRoles\PickUp

E-Mail PickUp Directory

If files with the extension .EML are copied in this directory, Exchange starts processing. Here is an example of an EML file:

E-Mail PickUp Directory

Shortly after the e-mail has been copied to the pickup directory, the extension is changed to .TMP, so Exchange starts processing and delivers the e-mail:

E-Mail PickUp Directory

The message tracking log then looks like this, with "Pickup" specified as the source:

E-Mail PickUp Directory

The pickup directory is initially only a directory on the Exchange server, so if you want to use it from other computers/servers, you have to share the directory so that other clients can store their files there.

However, it must be remembered that Exchange processes all valid files in the pickup directory, there is no recipient or sender check at this point, so in principle this is an internal OpenRelay. In this example, a mail is sent from a non-existent sender to an address outside the organization via Pickup:

E-Mail PickUp Directory

So if you want to use the pickup directory via sharing, you should adapt it a little:

  • Create your own directory
  • Restrict access to the directory
  • Configure monitoring

A separate directory, preferably on a separate small partition or mount point, can be configured with the following command:

Get-TransportService | Set-TransportService -PickupDirectoryPath "D:\Pickup"

E-Mail PickUp Directory

The directory is created automatically and can now be released:

E-Mail PickUp Directory

The NTFS permissions for the pickup directory can be controlled using an Active Directory group so that only users who are members of the group can use the pickup directory:

E-Mail PickUp Directory

In addition, the directory should be monitored for files with the extension .BAD. Files with the extension .BAD are mails that could not be processed due to incorrect formatting. Here is an example:

E-Mail PickUp Directory

If emails cannot be processed, the following event is also logged in the event display:

Source: MSExchangeTransport

Event ID: 9010,

At least one file in D:\Pickup can't be processed. These files have .bad extensions. Please look for .bad files, and make sure that their content is valid.

E-Mail PickUp Directory

This is where a monitoring solution can be used. In addition, the Exchange Message Tracking Log can also be searched for the "Pickup" event to detect irregularities or excessive use.

2 thoughts on “Exchange 2016: E-Mail PickUp Verzeichnis”

  1. Hallo und besten Dank für die ausführliche Beschreibung!
    Nach der Beschreibung konnte ich auch alles so hinbekommen, dass mir jetzt eine Mail zugeschickt wird, wenn ein Script die erforderlichen Prozesse abgearbeitet hat. Schön wäre es jetzt noch, wenn ich eine Protokolldatei als Anhang mit verschicken könnte. ist dies auf diesem Wege auch möglich?
    Danke!

    Reply
  2. Cool,
    vielen Dank für die ausführlichen Erklärungen.
    Ich habe einen Webserver, der ab und zu mal eine E-Mail aus einem Formular produzieren soll. Da könnte ich die E-Mails aus dem Formular dann auch direkt in dem Pickup Verzeichnis speichern und (an mich) verschicken lassen.
    Bisher habe ich über IIS 6 und der SMTP Komponente die E-Mails an meinen alten Mail Server (Exchange 2007) abgegeben.
    Mit dem Exchange 2016 ist mir das bisher nicht gelungen. Wenn die E-Mails am Webserver generiert werden bleiben die E-Mails im Queue Verzeichnis und werden nach einer Weile in das Badmail Verzeichnis (auf dem Webserver)verschoben.
    Damit der Exchange 2016 nicht als Open Relay arbeitet, habe ich versucht den so einzustellen, dass er E-Mails von der internen IP Adresse des Webservers annimmt. … ist mir beim Exchange 2007 und Exchange 2010 gelungen, beim Exchange 2016 noch nicht. … mal sehen … dann habe ich mit dem Pickup Verzeichnis eine Alternative …Danke

    Reply

Leave a Comment