Exchange Hybrid Transport Rules

Wer Mails in die Welt versendet, muss zumindest in Deutschland einen "Disclaimer" mit Pflichtangaben anhängen. Mittlerweile können Sie das mit Exchange Bordmitteln sowohl in Premises als auch in Exchange Online ganz gut machen. Interessant wird es beim Hybrid-Betrieb, wenn Mails durch beide Umgebungen geroutet werden.

Meine Regeln, deine Regeln

Transport-Regeln werden in Exchange nie pro Server sondern immer global pro Organisation angelegt. Die Transportregeln werden dazu im Active Directory abgespeichert und alle Server werden diese aus.  Natürlich darf dabei eine Regel nur genau einmal ausgefüllt werden. Der erste Server, die Nachricht verarbeitet, wendet daher alle Regeln an und kennzeichnet die Mail dann als "bereits verarbeitet". Die nachfolgenden Server winken die Mail einfach durch.

Dieser System-Header, dass die Mail schon einmal verarbeitet wurde, wird aber nicht nach extern weiter gegeben. Auch in der Gegenrichtung gibt es die "Header-Firewall" von Exchange, die bei eingehenden Nachrichten alle Header entfernt, die den internen Exchange-Betrieb stören könnten. Sie können also keine Mail bei Exchange einliefern und die Anwendung der Regeln unterbinden.

Die gleiche Vorgehensweise gilt natürlich auch für Exchange Online. Hier ist es sogar noch wichtiger, denn es könne ja sein, dass Absender und Empfänger in unterschiedlichen Tenants sind und jeder Administrator für sich eigene Transportregeln hinterlegt hat. Die Mail muss daher in der Quelle genau einmal den Regeln des Senders unterworfen werden aber dann beim Empfänger erneut durch das Regelwerk des Empfänger laufen.

Doppelte Anwendung

Auch wenn Exchange On-Premises und Exchange Online mit dem "Hybrid Mode" gut per SMTP verbunden sind, sind es dennoch getrennte Systeme. Eine Mail einem Exchange System zum anderen System  oder durch ein System ins Internet wird damit beiden Regeln unterworfen.

Dieses Verhalten fällt am ehesten beim Einsatz von Veränderungen des Mailbody, z.B. durch einen Disclaimer, auf. Wenn bei ausgehenden Mails plötzlich die Pflichtangaben doppelt vorkommen, dann ist dies nicht schön und sollte abgestellt werden. Allerdings passiert es nicht immer, denn es muss schon so sein, dass Regeln und Mails die Bedingungen erfüllen.

  • Mail muss durch beide Systeme laufen, d.h. durch den Hybrid Connector laufen
    Wenn eine Mail von der Exchange Umgebung des Absenders direkt ins Internet oder zu einem Gateway geht, dann sieht die andere Umgebung nichts davon
  • Empfänger/Sender-Bedingungen müssen unverändert bleiben
    Wenn eine Regel den Absender oder Empfänger verändert, dann kann sie ruhig auch durch die zweite Exchange Umgebung laufen. die gleiche Regel wird dann aber nicht mehr zuschlagen
  • Sichtbarkeit
    Die Änderungen durch die Regeln muss der Anwender auch sehen können. Wenn Sie einfach nur einen Custom Message Header setzen o.ä. fällt das nichts auf.

Gerade bei ausgehenden Mails ins Internet sendet jede Exchange Topologie seine Mails selbst weg. Der klassische Fall eines "Disclaimers" kann also nur dann passieren, wenn eine Exchange Umgebung ihre Mails über die andere Umgebung versendet. Das ist ein klassisches Szenario beim Hybrid Centralized Mail Transport.

Abhilfe

Zum Thema Disclaimer beschreibt Microsoft selbst, dass Sie am besten eine Ausnahme in ihre Regel konfigurieren. Eine Disclaimer Regel kann also die Pflichtangaben addieren, es sei denn sie sind schon vorhanden. In Deutschland ist z.B. die Handelsregisternummer (HRA/HRB) oder die UmsatzsteuerID ein halbwegs passender Indikator. Die wenigsten Personen geben solche Texte in einer Mail ein aber es bleibt ein Restrisiko

Ich nutze daher besser eine Kombination aus gesonderten Regeln, die ich gleich am Anfang von Exchange einstelle

  • On-Premises
    Addiere einen Header, z.B. "X-MSXFAQ-ExRules=1" an jede Mail
  • Exchange Online
    Addiere einen Header, z.B. "X-MSXFAQ-EXORules=1" an jede Mail

Damit ist sichergestellt, dass jede Mail diesen Header enthält, abhängig von seiner Ausgangssituation. Ich kann die Disclaimer-Regeln auf beiden Seiten entsprechend anlegen:

  • OnPremise
    Jede Mail von intern nach Extern bekommt einen Disclaimer, außer der Header "X-MSXFAQ-EXORules=1"
    Wenn die Mail schon den Header "X-MSXFAQ-EXORules=1" hat, dann wurde sie ja in Exchange-Online verarbeitet und soll keinen zweiten Disclaimer bekommen
  • Exchange Online
    Jede Mail von intern nach Extern bekommt einen Disclaimer, außer der Header "X-MSXFAQ-ExRules=1"
    Wenn die Mail schon den Header "X-MSXFAQ-ExRules=1" hat, dann wurde sie ja auf den lokalen Exchange Servern verarbeitet und soll keinen zweiten Disclaimer bekommen

So kann ich dann recht zuverlässig steuern, dass die Transport-Regeln nur genau einmal ausgeführt werden. Wenn Sie es noch genereller machen wollen, dann können Sie die Ausschlussregeln noch drastischer einrichten.

  • OnPremise
    Für jede Mail mit Header "X-MSXFAQ-EXORules=1" die Verarbeitung abbrechen
  • Exchange Online
    Für jede Mail mit Header "X-MSXFAQ-ExRules=1" die Verarbeitung abbrechen

Damit ist dann sichergestellt, dass nur die Regeln auf einer Seite ausgeführt werden. Allerdings kann das zu radikal sein. Vielleicht wollen Sie ja doch noch eine Mail sowohl durch lokale Regeln als auch durch Exchange Online verarbeiten lassen. Dann ist der Weg über die Ausschlussoption besser

Weitere Links