Exchange: Catch-All Postfach erstellen

Ein Exchange bietet standardmäßig nicht die Möglichkeit, ein Catch-All Postfach zu erstellen. Über kleinere Workarounds ist dies aber trotzdem möglich. Doch zuerst sollten wir kurz erläutern, was denn überhaupt ein Catch-All Postfach ist. Wird eine Mail am Exchange eingeliefert, so findet dieser den entsprechenden Empfänger (Postfach, Verteilergruppe, Kontakt, …) anhand eines AD-Lookups. Wird allerdings mit der in der Mail angegebenen Empfänger-Adresse kein passendes AD-Objekt gefunden, so wird die Mail abgelehnt und der Absender informiert. Der Sinn eines Catch-All Postfach ist es, alle Mails anzunehmen, für die es kein passendes AD-Objekt gibt. Somit wird keine Mail mehr aufgrund einer fehlerhaften Empfänger-Adresse abgelehnt. Der nachfolgend angesprochene Workaround funktioniert ab Exchange 2013 und auch in Office365.

 

Catch-All Workaround

Wir bereits angesprochen, unterstützt der Exchange solch ein Feature nicht standardmäßig. Daher müssen wir einen kleinen Workaround anwenden. Die notwendigen Schritte werden nachfolgend näher beschrieben.

Postfach anlegen

Natürlich brauchen wir ein Postfach, in welches alle Mails zugestellt werden sollen. Ob es sich dabei um ein Freigegebenes- oder Benutzerpostfach handelt, ist für die Funktionalität nicht weiter relevant. Bei einem freigegebenen Postfach spart man sich natürlich die Exchange Lizenz, kann aber dann auch nicht direkt darauf zugreifen.

 

Dynamische Verteilergruppe erstellen

Jedem dürfte eine „normale“ Verteilergruppe ein Begriff sein. In eine Verteilergruppe können ein oder mehrere Benutzer als Mitglieder hinzugefügt werden. Schickt man eine Nachricht an die SMTP-Adresse der Gruppe, wird diese entsprechend an alle Mitglieder zugestellt. Eine dynamische Verteilergruppe funktioniert hier sehr ähnlich, mit dem großen Unterschied, dass die Mitglieder nicht statisch hinzugefügt werden. Bei einer solchen Gruppe gibt man nur bestimmte Filter oder auch Konditionen an. Der Exchange bestimmt also bei jeder Abfrage dieser Gruppe, welche Benutzer aufgrund der Filter und/oder Konditionen ein Mitglied ist. Diese Eigenschaft machen wir uns hier zu Nutze.

Wir erstellen demnach eine dynamische Verteilergruppe mit folgenden Parametern.

In dieser Gruppe sind nun alle AD-Objekte Mitglieder, die:

  • ein Postfach (Benutzer/Shared/Resource) besitzen
  • ein Mail User (kein Kontakt) sind
  • eine Verteilergruppe sind

Außerdem empfiehlt es sich, diese Gruppe aus dem Adressbuch zu entfernen, da wir sie dort nicht benötigen. Im ECP gibt es nicht die Möglichkeit, die Mitglieder dieser Gruppe einzusehen. Daher wechseln wir auf die Management Shell am Server und führen folgenden Befehl aus:

[PS] C:\Windows\system32>Get-Recipient -RecipientPreviewFilter (Get-DynamicDistributionGroup "AllUsers_CatchAll").RecipientFilter

Hierbei ist es essentiell, dass alle Exchange Objekte (außer Kontakte) zurück geliefert werden.

 

Accepted Domain als „Internal Relay“

Alle Accepted Domains, bei denen das Catch-All Postfach verwendet werden sollen, müssen als „Internal Relay“ angelegt werden. Normalerweise verwendet man diesen Domain-Typ nur, wenn sich ein Teil der Empfänger auf einem externen Mailsystem befinden und der Exchange nicht allein für diese Domain verantwortlich ist. Denn standardmäßig werden Domains als „Authoritative“ angelegt und der Exchange nimmt nur Mails von SMTP-Adressen entgegen , welche er auch tatsächlich mit einem AD-Objekt verknüpfen kann. Diese Funktion umgehen wir, wenn die Domain als „Internal Relay“ fungiert.

 

Mailflow Regel erstellen

Im dritten Schritt vereinen wir die zuvor erstelle dynamische Verteilergruppe und das Catch-All Postfach in einer Mailflow Regel. Das lässt sich wieder am einfachsten über das Exchange Control Panel (ECP) umsetzen. Dazu wechselt man in den Reiter „Mailflow“ und erstellt eine neue Regel.

Folgende Parameter werden für die Regel benötigt:

  • Name: Ein beliebiger Name um die Regel zu identifizieren. Bestenfalls ohne Leerzeichen, damit die Handhabung mit der Powershell im Anschluss einfacher ist.
  • Diese Regel anwenden, wenn:
    • Der Absender befindet sich außerhalb der Organisation
  • Folgendermaßen vorgehen:
    • Die Nachricht umleiten an „Catch All Postfach“
  • Außer wenn:
    • Der Empfänger ist Mitglied von „AllUsers-CatchAll“
  • Diese Regel mit folgendem Schweregrad überwachen: Grundsätzlich empfehle ich, die Überwachung hier auf „Hoch“ zu stellen. Es ändert aber nichts an der Funktionsweise sondern nur am Protokollierungsgrad.

Jedes Mal, wenn eine Nachricht von außerhalb der Organisation am Exchange eintrifft, wird geprüft, ob der Empfänger in der dynamischen Verteilergruppe ist. Falls dies der Fall sein sollte, wird die Regel nicht weiter beachtet. Wenn der Empfänger jedoch kein Mitglied ist, wird die Mail an das Catch-All Postfach zugestellt. Da wir die Gruppe als „dynamisch“ angelegt haben, können wir zukünftig ohne Bedenken neue Postfächer/Gruppen/Kontakte anlegen. Die Mitgliedschaft wird automatisch aktualisiert.

Wenn du an weiteren Mailflow Regeln interessiert bist, solltest du dich hier umsehen.

You may also like...

Abonnieren
Benachrichtige mich bei
guest
6 Comments
Älteste
Neuste Meist bewertet
Inline Feedbacks
View all comments
OhMann
OhMann
3 Jahre zuvor

Muss es bei den Parametern heißen „Der Absender befindet sich außerhalb der Organisation“?

OhMann
OhMann
3 Jahre zuvor

Und Domänetyp muss vorher noch auf internes Relay umgestellt werden oder?

Mark
Mark
Reply to  OhMann
2 Jahre zuvor

Hallo, Wie vermeide ich den RecipientNotFound Fehler, den der Absender zurück bekommt?

-Update: wer lesen kann ist klar im Vorteil: die Domain war noch nicht auf „internes Relay“ umgestellt

Last edited 2 Jahre zuvor by Mark
Ben
Ben
3 Monate zuvor

Hallo, ich habe die Anleitung befolgt, bekomme jedoch folgende Fehlermeldung, sobald ich eine Mail an die Domäne sende:

host said: 550 5.7.1
Relaying to <****@*****************> denied (authentication required) (in
reply to RCPT TO command)

Wo kann ein Fehler liegen?

6
0
Hinterlass' doch deine Meinung zu diesem Artikelx