ForwardingSmtpAddress

Dieses Feld gibt es erst seit Exchange 2010

Das Feld "ForwardAddress" kann ebenfalls weiter leiten, muss aber als Wert einen distinguished Name z.B. auf eine einen MailUser, MailContact o.ä. enthalten.

Seit Exchange 2010 gibt es ein weiteres Feld, welches bei Set-Mailbox und anderen Parametern verwendet werden kann. Dabei handelt es sich aber nicht um einen Parameter, der letztlich das Feld TargetAddress füllt, sondern diese Einstellungen wirken sich auf das LDAP-Feld "msExchGenericForwardingAddress" aus. Über das Feld habe ich bislang nur ein recht kurzes Zitat gefunden:

"The ForwardingSmtpAddress parameter specifies a forwarding SMTP address."
Quelle: TechNet Set-Mailbox http://technet.microsoft.com/en-us/library/bb123981.aspx

Set-Mailbox

Sie können es mit "Set-Mailbox" einfach setzen und wieder entfernen.

[PS] C:\>Set-Mailbox mailboxuser -ForwardingSmtpAddress test@msxfaq.test
[PS] C:\>Get-Mailbox mailboxuser | fl *forw*,name

DeliverToMailboxAndForward : False
ForwardingAddress          :
ForwardingSmtpAddress      : smtp:test@msxfaq.test
Name                       : mailboxuser

[PS] C:\>Set-Mailbox mailboxuser -ForwardingSmtpAddress $null

Wenn ich mit meinen Diagnosetool die Änderungen protokollieren lasse, dann sehe ich auch, dass das Commandlet genau ein Feld bei dem Objekt ändert.

path              : LDAP://CN=mailboxuser,OU=msxfaq,DC=E2010,DC=local
adspath           : {LDAP://CN=mailboxuser,OU=msxfaq,DC=E2010,DC=local}
distinguishedname : {CN=mailboxuser,OU=msxfaq,DC=E2010,DC=local}
action            : Modify
field             : msexchgenericforwardingaddress
value             : {smtp:test@test.de}

Im Schema ist es natürlich definiert:

Interessanterweise wird es auch "kopiert", wenn ein Benutzer kopiert wird. Es ist erstmals mit dem Schemaupdate von Exchange 2010 SP1 mit gekommen. Ich gespannt, für welchen Sonderfall dieses neue Feld vorgesehen ist. Ein Hinweis kann folgender KB-Artikel sein:

  • 2521060 A user requests the auto-forwarding of email messages from a mailbox to another SMTP address in Office 365 dedicated

In Office 365 können so recht einfach die Mails an ein Postfach an ein anderes Postfach weiter geleitet werden. Vielleicht ist es genau das der einfache Anwendungsfall, damit neue Mails an ein altes Postfach an den Nachfolger weiter gegeben werden können. Ohne so eine durch den Administrator setzende Weiterleitung müsste der Nachfolge das alte Postfach zusätzlich öffnen, was aus Datenschutzgründen kritisch sein kann. Oder der Administrator muss die Proxy-Adressen umhängen, was auch nicht immer möglich ist. Auch die Einrichtung von Regeln im Postfach ist nicht immer geeignet. 

Wir sollten als Administrator einfach froh sein, dass wir so eine zusätzliche Option zur Weiterleitung von Mails an Postfächer an andere Empfänger haben.

Technische Funktion

Technisch wertet Exchange 2010 dieses Feld aus und leitet die Mail ähnlich wie bei dem Feld "TargetAddress" an die Zieladresse weiter. für die Wahl des Leitwegs werden die normalen Exchange SMTP-Routen genutzt. Allerdings gibt es zwei abweichende Dinge zu berücksichtigen:

  • Adresse darf nicht lokal definiert sein
    Im Gegensatz zu "TargetAddress" wird eine so veränderte Mail wohl wieder dem Categorizer vorgelegt, der dann das Ziel auch noch einmal Lokal auflöst. Das Ziel kann also ein anderer Empfänger im gleichen Forest sein. Sollte das Ziel die gleiche Mailbox sein, dann generiert Exchange keine Schleife sondern stellt die Mail lokal zu
  • Remote Domain
    Wenn das Ziel in einer externen Domäne liegt, dann reicht es nicht, wenn es einen Leitweg dorthin gibt, sondern die Domäne muss auch noch als "Remote-Domain" gepflegt sein und dort muss die "Automatische Weiterleitung" aktiv sein.

Das Feld ist daher durchaus interessant, wenn die Zieladresse aus Sicht der lokalen Exchange Organisation "extern" ist und als Partnerdomain auch in "Remote Domains" gepflegt ist. In vielen Fällen ist aber das Feld "TargetAddress" leistungsfähiger.

DeliverToMailboxAndForward: Weiterleiten oder doppelt zustellen ?

Wenn Sie einfach die Weiterleitung einrichten, dann werden die Mails an die neue Zieladresse gesendet aber nicht mehr in das lokale Postfach zugestellt. Sie können bei der Einrichtung aber den Parameter "-DeliverToMailboxAndForward $true" mit angeben.

Damit erreichen Sie, dass die Mail nicht nur an das neue Ziel weiter geleitet sondern zusätzlich auch im Postfach zugestellt wird. Damit bekommen Sie natürlich jede Mail quasi "doppelt". Aber bei Migrationen kann dies durchaus für eine gewisse Zeit gewünscht sein.

Ich habe sogar schon Firmen gesehen, die einen Exchange Server in einem eigenen Forest in der DMZ vor den eigentlichen Exchange Server schalten und dort die Mails nicht nur nach intern weiter leiten sondern auch vor Ort ablegen, dort aber dann nach einigen Tagen löschen lassen. Letztlich kann man so aber Mails aus dem Internet wieder holen, wenn der interne Server einen Datenverlust erleidet. Seit Exchange 2007 mit CCR und erst Recht mit der Exchange 2010 DAG und der damit möglichen Replikation der Datenbanken sehe ich da aber keinen Sinn drin.

Schleifen und Folgen bei ForwardingSMTPAddress

Die Weiterleitung über das Feld ist relativ einfach und schnell eingerichtet. Der erste Exchange Hub/Transport-Server löst den Empfänger auf und erkennt, dass er das Ziel umschreiben muss.

Useradresse ForwardingSMTPAddress RemoteDomain
AutoForwardEnabled $true"
Ergebnis

User@firma.tld

user@externdomain.tld

Nein

Mail wird NICHT an die neue Zieladresse zugestellt sondern einfach unterdrückt.

User@firma.tld

user@externdomain.tld

Ja

Mail wird an die Zieladresse weiter geleitet

User@firma.tld

user@firma.tld

Nein

Mail wird direkt in das Postfach zugestellt aber nicht mehr weiter geleitet

User@firma.tld

user@firma.tld

Ja

Mail wird direkt in das Postfach zugestellt aber nicht mehr weiter geleitet

User@firma.tld

user2@firma.tld

Nein

Mail wird an da andere Postfach in der Org weiter geleitet

User@firma.tld

user2@firma.tld

Ja

Mail wird an da andere Postfach in der Org weiter geleitet

ForwardingSMTPAddress

Dieses Feld hat auch bei Office 365 eine Funktion. Sie können damit z.B. alle Mails an eine Mailbox in der Cloud zu einem anderen Postfach (auch extern) weiterleiten lassen. Das ist z.B. für Migrationen interessant, wenn das Postfach schon auf dem Weg ins Ziel ist aber neue Mails immer noch an das alte Postfach gehen sollen.

Was ist die ForwardingAddress ?

Beim Get-Mailbox und Set-Mailbox  haben Sie sicher auch den Wert "ForwardingAddress" gesehen. Hier sieht Exchange aber nur vor, dass der "Distinguished Name" eines anderen Empfängers hier vorhanden sein muss. Eine "freie Weiterleitung" an eine beliebige SMTP-Adresse, die nicht vorher z.B. als "Kontakt" gepflegt sein muss, ist damit nicht möglich.

Dafür wird ein Kontakt als Ziel natürlich als "Vertrauenswürdiger" angesehen, so dass bei so einer Weiterleitung die Einstellung bezüglich der "RemoteDomain" mit "AutoForwardEnabled" nicht weiter relevant ist.

Weitere Links