oder auch : sender based routing
Wenn in Unternehmen die Email-Domains und DNS-Dienste über externe Provider implementiert sind, ergeben sich meist Anforderungen den Email-Nachrichtenfluss ein- und ausgehend über den entsprechenden Provider zu schleusen. Gerade wenn keine festen IP-Adressen vorhanden sind und es keine Möglichkeit gibt die MX-Einträge der Email-Domains auf eigene Ressourcen zeigen zu lassen, ist es erforderlich, alle Nachrichten über den Provider zu versenden.
In Microsoft Exchange 2010 SP1 (und auch früheren Versionen) gibt es keine einfache Möglichkeit mit Boardmitteln Nachrichten anhand Ihres Absenders an unterschiedliche Smarthosts zu Verteilen.
ein Beispiel:
ein Unternehmen besitzt mehrere Email-Domains : MusterFirma.de und MusterCorp.com
Beide Domains sind bei unterschiedlichen Providern gehostet, welche eingehende Nachrichten per SMTP an den Exchange Server weiterleiten. Auf die Mailsysteme der beiden Provider zeigen auch die DNS MX-Records der Domains.
Wenn es nun erwünscht ist, dass mit beiden Domains Email verschickt werden soll, muss der Administrator den ausgehenden Mailfluss aufsplitten:
– Wenn im Absenderfeld @musterfirma.de steht, sende diese Nachrichten über den Smarthost des Providers A
– Wenn im Absenderfeld @mustercorp.com steht, sende diese Nachrichten über den Smarthost des Providers B
Um dies umzusetzen gibt es grundsätzlich 3 Möglichkeiten:
1) Ein Tool eines Drittanbieters auf dem Exchange-System installieren
2) Ein Mailsystem mit der Möglichkeit zum Sender-based-Routing vorschalten und alle ausgehenden Mails darüber leiten
3) Einen eigenen Transportagenten für Exchange programmieren
Möglichkeit 1)
Drittanbieter bieten Tools an, welche das Sender-based-Routing direkt auf dem Exchange Server übernehmen. Dazu ist es erforderlich, auf den Exchange HUB-Transport Servern das entsprechende Tool zu installieren. Danach kann über die gewohnten Send-Connectoren die Aufsplittung gemacht werden. Besonders interessant ist auch die Möglichkeit, das Mailrouting anhand von ActiveDirectory Gruppen zu implementieren.
Besonders gute Erfahrungen habe ich mit dem Tool ExSBR der Firma messageconcept GmbH gemacht :
http://www.messageconcept.net/de/produkte/exsbr/
Möglichkeit 2)
Um Kosten zu sparen kann man ein vorgelagertes Mailsystem zum Beispiel mit einem freien Linux-System und Postfix (Debian/Ubuntu…) implementieren.
als Einstieg: http://www.debian.org/ und http://www.postfix.org/docs.html sowie http://www.3d4x.ch/swift/senderbased.html
Ein solches System kommt im Regelfall mit sehr wenig Ressourcen zu Recht und übernimmt die Aufsplittung des Mailflusses. Für Exchange ist dieses transparent, lediglich der send-Connector für die Internet-Mails muss auf dieses System umkonfiguriert werden. Wenn man virtualisiert hat, ist dieses System prädestiniert virtualisiert zu werden.
Nachteil: Es gibt ein weiteres System, das man Warten, Patchen und Überwachen muss. Weiterhin sind größere Exchange-Umgebungen durchaus auch hochverfügbar implementiert (DAG/CAS-Arrays..). Es sollte darauf geachtet werden, dass dann auch das vorgelagerte System entsprechend ausfallsicher gestaltet ist, um keinen Single-Point-of-Failure zu riskieren.
-> Was nützt die hoch-verfügbarste Exchange Landschaft, wenn das kleine Mail-Routing-System ausgefallen ist.
Möglichkeit 3)
Wenn entsprechende Entwickler-Fähigkeiten vorhanden sind, kann man auch eigene Transportagenten schreiben. Einen Einstieg findet man bei Microsoft an folgender Stelle : http://technet.microsoft.com/de-de/library/bb125012.aspx
Hinweis: Im Kontext des sender-based-routing ergibt sich auch manchmal die Anforderung, dass User in Microsoft Outlook oder anderen Email-Clients zusätzlich in die Lage versetzt werden sollen, die Absender Email-Adresse im Client auszuwählen. Zu diesem Thema gibt es demnächst einen Artikel, einfach wieder reinschauen !
2 Kommentare
Hallo
Zu Möglichkeit 3): Ich habe einen konfigurierbaren Sender Based Routing Transport Agenten geschrieben:
http://www.tuescher.net/Exchange-Sender-Based-Routing/index.html
Je nach eingesetzter Exchange-Version muss die dll selber kompiliert werden, zum direkten Download ist (momentan) nur Exchange 2010 SP2 UR4v2 verfügbar.
Grüsse,
Martin Tüscher
Zu Möglichkeit 4):
http://www.ivasoft.com/routebysender.shtml
Grüsse,
Victor