In a single-server Exchange 2007 setup you'll need to allow
annonymous connections on your default receive connector. By
default Exchange 2007 servers not running the Edge Transport role will
only accept inbound smtp connections from Exchange Users (clients),
Exchange Servers (other Exchange 2007 servers) and Exchange Legacy
Servers (legacy Exchange 2003 & below servers). To allow annonymous
smtp connections for your server, run the following management shell
Set-ReceiveConnector -Identity "Default <ServerName>" -PermissionsGroup "AnonymousUsers"
As for not being able to send external email, have you configured a
Send Connector? This is done through Organizational
Configuration->Hub Transport->Send Connectors, or by using the
management shell command New-SendConnector.
Hope this helps,