by Markus Frey
15. January 2009 11:35
Eine Anfrage aus der Praxis: wie kann das Senden von E-Mails an spezifische Domains verhindert werden? Im konkreten Fall sollte verhindert werden, dass der Mail-to-SMS-Gateway des Providers von allen internen Benutzern verwendet, respektive "missbraucht" werden kann.
Der erste Gedanke: ein klarer Fall für die flexiblen Transport Rules welche in Exchange 2007 neu eingeführt wurden, kein Problem. Falsch gedacht: die Regeln erfordern Mailempfänger oder Verteilerlisten als Adressaten - sie erlauben nicht die Eingabe von Domain-Wildcards in der Form von @domain.com.
Die obligate Doku-, Technet- und Google-Suche brachte auch keine weiteren Erkenntnisse. Wir geben nicht auf - noch nicht! Und schauen uns die Transport Rules nochmals an; auch die Doku der Kommandozeile. Und dann blüht Hoffnung auf: der Message Header kann ausgewertet werden. Und der heisst in unserem Fall To. Mit dieser Condition testen wir:
Und erhalten anschliessend beim Testversand an diese Testdomain die entsprechende 5.7.1 Meldung:
Generierender Server: mail.in4out.ch
info@dummy-domain.com
#550 5.7.1 Sending e-mail to this domain is not allowed! #
Das rettet den Tag! Und hier noch die Erfüllung für die Freunde der Kommandozeile:
set-TransportRule -Name 'Prevent @dummy-domain.com' -Comments 'Prevent sending e-mail to @dummy-domain.com' -Conditions 'Microsoft.Exchange.MessagingPolicies.Rules.Tasks.HeaderContainsPredicate' -Actions 'Microsoft.Exchange.MessagingPolicies.Rules.Tasks.RejectMessageAction' -Exceptions -Identity 'Test'