Same issue
Same issue on an SBS 2008 server with Exchange 07.
What fixed mine:
Exchange Management Console
-Hub Transport Rules
Right click the Default rule (ie: Default ), properties then Network tab.
Add the EXTERNAL IP into both lists, click OK all the way out.
Edit php.ini
Locate the SMTP field, change from "localhost" to the machine name. I personally used the FQDN'd version. I was getting "SMTP not found" errors in my PHP logs to catch this.
Restart IIS
note: I also have Relays setup for the Virtual SMTP Server. I've got 127..., and the external IP in the Relay fields.