Transportregeln

Der Name wird mittelfristig im englischen auf "Mail Flow Rules" geändert.
Mail flow rule actions https://technet.microsoft.com/en-us/library/jj919237(v=exchg.150).aspx 

Seit Exchange 2007 wird jede Mail durch die Hub/Transport-Rolle geroutet und erstmals hat Microsoft auch hier eine einfache Möglichkeit geschaffen, Regeln einzurichten, die auf jede Mail angewendet wird. Die Regeln wirken auf alle Nachrichten, die übertragen werden und über Filter, Ausnahmen werden die Nachrichten selektiert, auf die dann Aktionen angewendet werden können.

Grundwissen

Ehe wir in genauer auf die einzelnen Kriterien und Aktionen eingehen, sollten Sie ein paar Grundbegriffe der Transportregeln verstehen:

  • Die Regeln selbst werden im Active Directory (Konfiguration-Partition) abgelegt
    Es kann also abhängig von der AD-Replikation etwas dauern, bis alle Hub/Transport-Rollen die Regeln können,
  • Bitte nicht mehr als 20.000 Regeln!
    Zugegeben ich wäre nie auf den Gedanken gekommen, so viele Regeln per GUI oder PowerShell anzulegen. Aber es ist zum einen gut zu wissen, dass die Grenze nicht bei 100, 256, 512 oder sonst in greifbarer Entfernung liegt. Und wenn jemand Exchange als Hosting betreibt, kann es schon sein, dass man pro Kunde z.B. einen Disclaimer anbieten möchte. Dann kommen schon ein paar Regeln zusammen
  • Nicht erweiterbar !
    Die Bedingungen und Aktionen sind "Fix". Es gibt keine Möglichkeit die Bedingungen oder Aktionen durch eigene Skripte oder Aktionen einfach zu erweitern. Man kann eine Mail also weder als Datei ablegen noch eigene Programme oder PowerShell-Skripte darauf anwenden. Wer nicht mit den enthaltenen Aktionen auskommt, muss bei Transportagenten weiter lesen.
  • Eine Mail wird nur einmal durch die Regeln verarbeitet
    Der erste Hub/Transport-Server, de eine Mail bekommt, verarbeitet die Regeln. Nach der Verarbeitung wird die Mail mit einem internen Header gekennzeichnet, der eine Folgeverarbeitung auf einem anderen Hub/Transport-Server unterbindet. Das funktioniert ähnlich wie die SCL-Erkennung.
  • Nur Transport, keine Postfachverarbeitung
    Die Regeln können nur Mails auf dem Transport verändern. Sie können per Transportregel also keine Mail in einen anderen Ordner eines Postfachs ablegen lassen.

Die Konfiguration der Regeln wird von den meisten Administratoren vermutlich über die grafische Administrationskonsole durchführen. Die Regeln erinnern viele vermutlich an Outlook, wenn gleich nicht alle Bedingungen und Aktionen vorhanden sind.

Transportregeln in der EMC

Die Anzeige und Konfiguration von Regeln erfolgt in der EMC auf der Stufe der Organisation bei den Hub Transport-Einstellungen

Sie können hier schon sehen, dass die Regeln eine Reihenfolge (Priorität, 0 = zuerst) und optional einen Kommentar haben und dass Regeln auch deaktiviert werden können.

Bedingungen

Zuerst gilt es, die Bedingung(en) festzulegen, wann die Aktion diese Regel ausgeführt wird. Hierzu sind eine ganze Menge Bedingungen möglich, von denen auch mehrere (oder-verknüpft) angewählt werden können.

Zudem können je Bedingungen manchmal noch Feineinstellungen vorgenommen werden.

Sie erkennen dies an dem Bleistift am Ende. Die Ausformulierung der Regel im Fenster zeigt, dass eine uND-Verknüpfung durchgeführt wird. Wenn Sie eine ODER-Funktion benötigen, dann müssen sie einfach mehrere Regeln mit den Einzelbedingungen konfigurieren.

Aktionen

Und dann gilt es zu definieren, welche Aktionen ausgeführt werden. Diese Liste ist etwas kürzer.

Auch hier kann es Aktionen geben, die weitere Einstellungen benötigen

Ausnahmen

Zuletzt können Sie noch Ausnahmen definieren, wann diese Regel dann doch nicht ausgeführt wird. Diese Liste ist etwas umfangreicher.

Auch Ausnahmen bedürfen manchmal weiterer EinstellMöglichkeiten. Allerdings werden die ausgewählten Ausnahmen dann "ODER"-Verknüpft.

Beispiele

Ich möchte zwei einfache Beispiele aufzeigen, die den praktischen Einsatz belegen können. Zum Glück können sie alle Regeln und Einstellungen per GUI machen. Es gibt meines Wissens keine Aktionen, Filter o.ä., die sie nicht auch über die GUI einrichten können. Wenn Sie also nicht hundert ähnliche Regeln in einem Hosting-Umfeld einrichten müssen, dann sollten Sie die GUI nehmen

Beispiel: Disclaimer

Seit 1 Januar 2007 hat unser Gesetzgeber sich einfallen lassen, dass jede Mail einen Hinweis auf den Absender "Legal Disclaimer" enthalten muss. (als wenn die Domain nicht schon hinweis genug wäre) und da Exchange damals dies nicht konnte, gab es eine Menge Zusatzprodukte (Siehe Disclaimer). Exchange 2007 hat aber eine Basisfunktion mitgebracht und Exchange ist noch mal eine ganze Menge besser geworden. Wenngleich auch Microsoft natürlich nicht hexen kann und z.B. das Erkennen wo ein Disclaimer angefügt werden muss oder ob die Mail eine Antwort ist, wo der Disclaimer von früher schon enthalten ist, wird hier auch nicht besser gelöst als bei Wettbewerbern. Es gibt einfach keine 100% Lösung.

Ein Disclaimer ist als Action direkt aufgeführt und wie sie im Bild schon sehen können, kann eine Firma (bitte kein Hoster) per  Filter den Disclaimer nur für "Outside Organization" einrichten. Der Disclaimer selbst ist dann ein HTML-Schnipsel.

Anhängen von Bildern ist nicht möglich. Es kann aber natürlich ein "INLINE"-Bild werden oder ein Link auf ein Bild. Alle drei Varianten haben aber ihre Nachteile. Ich rate jedem immer auf Bilder zu verzichten.

Nur wenn Sie sehr viele Disclaimer anlegen müssen, z.B. Exchange Hosting o.ä., dann lohnt sich ein Blick auf die PowerShell

New-TransportRule `
   -Name ExternalDisclaimer `
   -Enabled $true `
   -SentToScope 'NotInOrganization' `
   -ApplyHtmlDisclaimerLocation 'Append' `
   -ApplyHtmlDisclaimerText "<h3>Titel</h3><p>Dies ist der Text.</p>" `
   -ApplyHtmlDisclaimerFallbackAction Wrap

Denkbar wäre so auch, dass eine Abteilung ihren "eigenen" Disclaimer an einen bestimmten Ort legt und ein Skript diese Änderung erkennt und dann den Disclaimer importiert. Leider kann Exchange selbst nicht eine Textdatei als Vorlage nutzen. Dies ist aber vielleicht auch besser, denn wer denkt schon daran, wie diese Datei auf allen Hub/Transport-Servern erreichbar ist. Und was wäre, wenn diese Datei auf einem UNC-Pfad liegt und der Dateiserver gerade gepatched wird ?

Wenn Sie mögen können sie seit Exchange 2010 auch ausgewählte Active Directory Felder in den Disclaimer einbinden, z.B.

Mit freundlichen Grüßen
%%company%%
%%displayname%%
%%title%%
%%street%%
D-%%zipcode%% %%city%% 
Tel: %%PhoneNumber%%
Fax: %%FaxNumber%%

Beispiel: Rerouting

Ein anderes Beispiel ist das "Rerouting" von Nachrichten. Sicher meine ich damit nicht das umleiten einer Mail an eine Adresse zu einer anderen Adresse. Das geht mit "Kontakten" einfacher. Aber sie können auch Mails mit bestimmten Kriterien, z.B. Größe oder Anlagen abfangen und umleiten. Stellen Sie sich mal vor, sie möchten einfach keine größeren Anlagen in Mails zulassen. Dann könnte eine Transportregel diese Mails an eine andere Adresse umleiten. Dort lauscht ein Dienst, der die Mail auseinander nimmt, die Anlage auf einen Datei oder Sharepoint-Server ablegt und dem Empfänger dann die Mail ohne Anlage aber mit Link auf den neuen Ablageort sendet. Genauso könnte man z.B. eingehende Faxnachrichten oder Sprachnachrichten umbiegen.

Weitere Links