SMTP-Fehler 5.1.7 wenn Website über Exchange 2010 E-Mails verschicken will

Die hier beschriebene Methode funktioniert bei der gegebenen Aufgabenstellung wunderbar. Im Rahmen von weiteren Recherchen bin ich auf die „offizielle“ Lösung im MS TechNet für Relay auf Exchange 2010 gestoßen und habe diese „saubere“ Lösung in einem neuen Posting beschrieben.

Über einen problemlos funktionierenden Exchange 2010 soll von einem Webformular per SMTP E-Mails verschickt werden. Diese erzeugen einen SMTP-Fehler „5.7.1 Client does not have permissions to send as this sender“ und gehen nicht raus. Das Problem wird anscheinend durch die Tatsache verursacht, dass sich das Webformular immer mit dem gleichen User-Account am Exchange 2010 authentifiziert, der tatsächliche Mailabsender aber im Webformular aus einer Liste von Domainusern ausgewählt werden kann.

Etwas Recherche liefert folgende Problemstellung: Die von dem Webformular verschickt E-Mail wird am Exchange 2010 zuerst von einem Receive Connector behandelt. Bei der Installation von Exchange 2010 werden 2 Receive Connectors „Client <Servername>“ und „Default <Servername>“ installiert, die man in der EMC unter „Server Configuration – Hub Transport“ findet. Jedem Receive Connector können in den Eigenschaften auf dem Reiter „Permission Groups“ verschiedene vordefinierte Benutzergruppen wie „Anonymous users“ oder „Exchange users“ zugewiesen werden.

In einem MS Technet-Artikel fand ich den Hinweis, dass der oben genannte SMTP-Fehler 5.7.1 durch eine fehlende „ms-Exch-SMTP-Accept-Authoritative-Domain-Sender“ SMTP-Berechtigung für die SMTP-Anmeldung im Receive Connector verursacht wird. In einem anderen MS TechNet-Artikel wird aufgelistet, welche Permission Groups eines Receive Connectors welche SMTP-Berechtigungen beinhalten. Und es zeigt sich, dass die hier verwendete Permission Group „Exchange users“ (hinter der sich die Active Directory Gruppe „NT AUTHORITY\Authenticated Users“ verbirgt) eben diese SMTP-Berechtigung nicht hat.

Also müssen die SMTP-Berechtigungen angepasst werden. Ich habe nicht den bisher verwendeten Receive Connector „Default <Servername> verändert, sondern einen neuen Receive Connector mit zuerst identischen Einstellungen erzeugt und diesen dann angepasst.

  • Da dieser neue Receive Connector erweiterte Rechte bekommen wird, habe ich aus Sicherheitsgründen die potentiellen Absender in dessen Eigenschaften auf dem Reiter „Network“ im unteren Bereich „Receive mail from remote serversn that have these IP addresses“ auf das lokale Netzwerk beschränkt.
  • Dann habe ich der Permission Group „Exchange users“ in diesem neuen Receive Connector die zusätzliche SMTP-Berechtigung „ms-Exch-SMTP-Accept-Authoritative-Domain-Sender“ zugewiesen. Dies ist mit folgendem Befehl in der Exchange Management Shell möglich:
    Get-ReceiveConnector -Identity NeuerReceiveConnectorName | add-ADPermission 
    -user "NT AUTHORITY\Authenticated Users"
    -ExtendedRights "Ms-Exch-SMTP-Accept-Authoritative-Domain-Sender"