I'm trying to set up PHP on a Windows Server 2008 machine running both IIS7 and Exchange 2010, and no matter what I do, it will not relay messages outside of the domain.

I.e.: I telnet to localhost 25, do the HELO/MAIL FROM:/RCPT TO: dance. Any domain ending in my local domain works; any with elsewhere as domain receive a 550 5.7.1 Unable to Relay error.

If I set * as an Accepted Domain, everything starts working, mails relay, all of it works great. However, this is clearly problematic -- I'd really like to not turn my client's server into an open relay (verified via Abuse.net's relay checking tool).

How does one enable open relaying from only localhost in Exchange 2010?


Create a new receive connector. Set the scope to,check the box that says "Externally secured", and allow anonymous connections as well as Exchange Servers. You'd do that in EMS like this:

new-receiveconnector -name LOCALHOST -Usage Custom -authmechanism externalauthoritative -enabled $true -fqdn mail.domain.com -remoteipranges -permissiongroups anonymoususers,ExchangeServers -bindings

  • No dice; still get the same error. – aendrew Sep 6 '11 at 23:42
  • 1
    Try it with the updated EMS command. I just successfully tested it in my lab running Exchange 2010 SP1 – Jason Berg Sep 6 '11 at 23:44
  • 1
    Also make sure you don't have another receive connector with the same scope. – Jason Berg Sep 6 '11 at 23:44
  • 1
    That totally worked. And I did have a receive connector with the same scope -- apparently there was a SBS Fax Sharepoint there too. Deleting that enabled your command to work beautifully. – aendrew Sep 6 '11 at 23:50
  • Thankyou thankyou thankyou @Jason for the note about turning off the other connector in the same scope. 24 hours of frustration solved! – LRE Nov 15 '13 at 21:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.