In unserer lokalen Umgebung möchte ich von PHP aus auf unseren Exchange Server 2010 per SMTP zugreifen. Über die in PHP eingebaute „mail“-Funktion.
Da diese keine authentifizierte SMTP-Verbindung hinbekommt, habe ich beim Exchange anonyme Verbindungen zulassen müssen, um den „Unable to relay“-Fehler weg zu bekommen. Im Artikel „Allow Anonymous Relay on a Receive Connector“ habe ich den folgenden PowerShell-Befehl gefunden:
Add-ADPermission „My Connector Name“ -User „NT AUTHORITY\ANONYMOUS LOGON“ -ExtendedRights „Ms-Exch-SMTP-Accept-Any-Recipient“
Da kam dann beim Ausführen die Meldung, dass er „NT AUTHORITY\ANONYMOUS LOGON“ nicht kennt. Ich habe es dann noch mit „Jeder“ probiert, was zwar erfolgreich durchlief, jedoch das Relaying nicht deaktiviert hat.
Nach etwas Suchen fand ich den Artikel „Englisch=Deutsch oder doch nicht? Wie Sie Anonymous Relay auf einem deutschen Exchange Server per cmdlet aktivieren“ und die Lösung, die in folgendem Befehl mündete:
Add-ADPermission „My Connector Name“ -User „NT-AUTORITÄT\ANONYMOUS-ANMELDUNG“ -ExtendedRights „Ms-Exch-SMTP-Accept-Any-Recipient“
Danach konnte ich, ohne Neustart von Server oder Dienst, erfolgreich von PHP aus E-Mails versenden.