Exchange 2016: E-Mail PickUp Verzeichnis

Das E-Mail Pickup Verzeichnis findet zwar nicht mehr häufig Anwendung, aber heute war mal wieder so Fall mit einer etwas spezielleren Software…

Beim E-Mail Pickup Verzeichnis handelt es sich um einen normalen Ordner im Filesystem der von Exchange auf neue E-Mail überwacht wird, landet eine E-Mail in diesem Ordner, wird Exchange versuchen die Mail zuzustellen. Programme können also Dateien, die entsprechend formatiert sind, in das Verzeichnis werfen und Exchange kümmert sich um die Zustellung.

In der Standardeinstellung liegt das Pickup Verzeichnis unter folgenden Pfad:

%ExchangeInstallPath%TransportRoles\PickUp

E-Mail PickUp Verzeichnis

Wenn in diesem Verzeichnis Dateien mit der Endung .EML kopiert werden, startet Exchange die Verarbeitung. Hier ein Bespiel einer EML Datei:

E-Mail PickUp Verzeichnis

Kurz nachdem die E-Mail in das Pickup Verzeichnis kopiert wurde, wird die Endung nach .TMP geändert, Exchange startet also die Verarbeitung und stellt die E-Mail zu:

E-Mail PickUp Verzeichnis

Im Message Tracking Log sieht es dann wie folgt aus, hier wird als Source “Pickup” angegeben:

E-Mail PickUp Verzeichnis

Das Pickup Verzeichnis ist erst einmal nur Verzeichnis auf dem Exchange Server, wer es von anderen Rechnern/Servern nutzen möchte, muss das Verzeichnis also freigeben, damit andere Clients ihre Dateien dort ablegen können.

Hier muss allerdings bedacht werden, dass Exchange alle validen Dateien im Pickup Verzeichnis abarbeitet, an dieser Stelle findet keine Empfänger oder Absender Prüfung statt, im Prinzip handelt es sich dabei also um ein internes OpenRelay. Hier als Beispiel wird eine Mail von einem nicht existierenden Absender an eine Adresse via Pickup verschickt die außerhalb der Organisation liegt:

E-Mail PickUp Verzeichnis

Wer also das Pickup Verzeichnis mittels Freigabe nutzen möchte sollte es etwas anpassen:

  • Eigenes Verzeichnis erstellen
  • Zugriff auf das Verzeichnis einschränken
  • Monitoring konfigurieren

Ein eigenes Verzeichnis, am besten auf einer separaten kleinen Partition oder Mountpoint, kann mit dem folgenden Befehl konfiguriert werden:

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

E-Mail PickUp Verzeichnis

Das Verzeichnis wird automatisch angelegt und kann jetzt freigegeben werden:

E-Mail PickUp Verzeichnis

Die NTFS Berechtigungen für das Pickup Verzeichnis können mittels einer Active Directory Gruppe gesteuert werden, damit nur Benutzer die Mitglied der Gruppe sind das Pickup Verzeichnis benutzen können:

E-Mail PickUp Verzeichnis

Zusätzlich sollte das Verzeichnis auf Dateien mit der Endung .BAD überwacht werden. Bei Dateien mit der Endung .BAD handelt es sich um Mails die aufgrund einer falschen Formatierung nicht verarbeitet werden konnten. Hier ein Beispiel:

E-Mail PickUp Verzeichnis

Wenn E-Mails nicht verarbeitet können, wird auch das folgende Event in der Ereignisanzeige protokolliert:

Quelle: MSExchangeTransport

Ereignis-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 Verzeichnis

An diesem Punkten lässt sich mit einer Monitroing Lösung ansetzen. Zusätzlich kann auch das Exchange Message Tracking Log nach dem Event “Pickup” durchsucht werden um Unregelmäßigkeiten oder allzu exzessive Nutzung festzustellen.

2 Gedanken zu „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!

    Antworten
  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

    Antworten

Schreibe einen Kommentar