TechNet Team Blog Austria

Informationen und News abseits der offiziellen TechNet vom TechNet Team Blog Austria

Nicht autorisierende SMTP Domänen in gemischten Exchange Umgebungen

Nicht autorisierende SMTP Domänen in gemischten Exchange Umgebungen

  • Comments 1
  • Likes
logo_ExchangeServer2007

Unlängst hatte ich während einer Umstellung von Exchange 2003 auf Exchange 2007 Probleme mit dem Email Routing, welche für mich auf den ersten Blick nicht unbedingt ersichtlich waren. Nach einiger Forschungsarbeit und einigen Versuchen habe ich auch eine Lösung für dieses Problem gefunden. Meine Erkenntnisse möchte ich hier nun zusammenfassen.

Das Problem (the short story)

Bei größeren Organisationen kommt es vor, dass nicht sämtliche Benutzer Exchange als Mail System benutzen. Dies bedeutet, dass mehrere, teils völlig unterschiedliche Mailsysteme zum Einsatz kommen und somit der Exchange Server diese SMTP Domänen als nicht autorisierend behandeln muss. Die Konfiguration ist in keiner der beiden Exchange Versionen ein Problem und ist weiter unten beschrieben. Ein Problem entsteht jedoch, wenn während des Parallelbetriebs eine neue Email-Adressen-Richtlinie für eine nicht autorisierende SMTP Domäne unter Exchange 2007 erstellt wird. Alle Benutzer mit Legacy Postfächern (Benutzer am Exchange 2003) können von nun an keine Emails an Benutzer senden, welche nicht im Active Directory definiert sind. Exchange 2003 weiß einfach nichts von diesen fremden Mailsystemen. Dieses Problem tritt nicht auf, wenn vorhandene Empängerrichtlinien über die Verwaltungsshell aktualisiert werden. Und dass neue Richtlinien erstellt werden ist ein durchaus denkbarer Weg, da Exchange 2007 die Richtlinien in jedem Fall anwendet und die Struktur und Konfiguration daher wesentlich besser durchdacht sein müssen als es unter Exchange 2003 notwendig war.

The long story

ex2003_policy Unter Exchange 2003 ist es prinzipiell auf zwei Arten möglich, eine Email Domäne mit einem fremden Mailsystem zu teilen. Der nicht empfohlene Weg ist die direkte Konfiguration am smtp Service mit der Einstellung "Alle E-Mails mit nicht ausgewerteten Empfängern weiterleiten an Host". Da diese Einstellung keine Rücksicht auf den Domänennamen nimmt und somit sämtliche Möglichkeiten der feineren Konfiguration wegfallen, sollte dieser Punkt nicht verwendet werden und nur in Speziallfällen Anwendung finden. Die zweite Möglichkeit ist die Konfiguration über die Empfängerrichtlinien. Dies ist auch logisch der richtige Ort dies zu konfigurieren, da ja auch hier allgemein die empfangbaren EMail Domänen konfiguriert werden. Bei der Definition der SMTP-Adressen findet sich hier die Checkbox: "Diese Exchange-Organisation ist für die gesamte E-Mail-Übermittlung an diese Adresse verantwortlich". Ist diese Checkbox aktiv (default) so erzeugt Exchange für nicht auflösbare Adressen eine Unzustellbarkeitsnachricht. Ist sie nicht aktiv so versucht das Exchange Routingmodul im Falle einer nicht auflösbaren Adresse die Zustellung über einen Connector. Entweder über die normalen MX Einträge im DNS oder, sofern vorhanden, über einen entsprechenden Connector für diese Domäne.

Exchange 2007

ex2007_accdom Unter Exchange 2007 wurden die gültigen SMTP Domänen von den Empfängerrichtlinien (E-Mail-Adressenrichtlinien) getrennt und sind somit seperat zu konfigurieren. SMTP Domänen werden nun unter Organisationskonfiguration->Hub-Transport->Akzeptierte Domänen eingetragen bzw. in der Shell mit New-AcceptedDomain erstellt. Hier gibt es auch die Eigenschaft DomainType welcher drei verschiedene Werte annehmen kann:

  • Autorisierende Domäne (Authoritative): Der Exchange Server ist für sämtliche Adressen der SMTP-Domäne zuständig.
  • Interne Relaydomäne (InternalRelay): Der Exchange Server ist zum Teil verantwortlich. Nicht bekannte Adressen werden über einen Sendeconnector an ein anderes System übergeben.
  • Externe Relaydomäne (ExternalRelay): E-Mails werden per Relay an einen fremden Mailserver weitergereicht.

Dies bedeutet für heterogene SMTP-Domänen sind diese als Interne Relaydomäne zu konfigurieren und zusätzlich ein Sendeconnector zu konfigurieren.

Von diesen neuen Einstellungen bekommt das "alte" Exchange 2003 System natürlich nichts mit. Es kennt die Struktur der Akzeptierten Domänen nicht und auch nicht die DomainType Eigenschaft. Es beurteilt ausschließlich anhand der Empfänger Richtlinien. Eine genauere Analyse der relevanten Active Directory Objekte führte mich auf die NonAuthoritativeDomains Eigenschaft des Empfängerrichtlinien Objekts. Für jede unter Exchange 2003 erstellte SMTP Adresse wird hier der idente Wert eingetragen sobald die Checkbox für die Verantwortlichkeit deaktiviert wird. Dies bedeutet, wird zum Beispiel eine Email-Adresse %g.%s@contoso.com definiert, so wird bei deaktivierter Checkbox der Eintrag smtp:%g.%s@contoso.com ebenfalls der Eigenschaft NonAuthoritativeDomain hinzugefügt. Die Eigenschaft selbst ist als Liste definiert, kann also mehrere Einträge aufnehmen.

Werden nun bestehende Empfängerrichtlinien mit Set-EmailAddressPolicy auf 2007 aktualisiert, so bleiben diese Attribute vorhanden und werden nicht verändert. Dies bedeutet, dass die Funktionalität für Exchange 2003 voll erhalten bleibt. Als kleine Randbemerkung sei erwähnt, dass das Exchange Setup bei der Installation des ersten Exchange 2007 Servers in einer bestehenden Exchange 2003 Umgebung alle Domänen Typen für die erkannten SMTP-Domänen auf Autorisierend setzt.
ex2007_polnew Anders sieht es jedoch aus, wenn eine neue Richtlinie über die Verwaltungskonsole von Exchange 2007 oder über die Shell mit New-EmailAddressPolicy erstellt wird. Hier bleibt diese Eigenschaft in jeden Fall leer. Mir ist auch keine Möglichkeit bekannt, diese Eigenschaft über die Shell zu verändern, da ein entsprechender Parameter bei Set-EmailAddressPolicy fehlt. Ein Versuch, das Objekt über die Verwaltungskonsole von Exchange 2003 zu verändern schlägt mit einer Versionsfehlermeldung fehl. Als Folge davon können Legacy Benutzer keine E-Mails an "externe" Empfänger der entsprechenden Domänen senden. Um dieses Problem zu beheben muß direkt das entsprechende Active Directory Objekt bearbeitet werden.

ADSIEdit

ex_adsiedit Ich möchte ausdrücklich darauf hinweisen, daß dieses Tool mit Vorsicht und Bedacht zu verwenden ist, da durch falsche Verwendung großer Schaden angerichtet werden kann!
Die Empängerrichtlinien findet man mit adsiedit unter:
Configuration->CN=Configuration, DC=(Domain)->CN=Services->
CN=Microsoft Exchange->CN=(Oranisation)->CN=Recipient Policies
In den Eigenschaften der entsprechenden Richtlinie findet sich das entsprechende Attribut unter msExchNonAuthoritativeDomains und kann hier direkt bearbeitet werden. Die Syntax ist ident zu den Einträgen des Attributs gatewayProxy, welches die eigentlichen Emailvorlagen enthält. Im Zweifelsfall kann man sich die Attribute auch an entsprechend erstellten Testrichtlinien ansehen. Im Fall des obigen Beispiels für Contoso wäre der richtige Eintrag: smtp:%g.%s@contoso.com

Sobald dieses Attribut geändert ist reicht ein Neustart des Exchange-Routingmoduls um die Änderung wirksam zu machen.

ex2007_polchanged

Weitere Informationen über Empfängerrichtlinien und deren Aktualisierung finden sich unter:

Beitrag von Heinrich Pommer

Comments
  • Nachdem es nun schon einiges zu den Neuerungen und Änderungen beim Service Pack 1 von Exchange Server

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment