In order for you Exchange Server to receive Internet email the following has to happen:
1. Any client on the Internet has to be able to resolve your dmoain names email Server (called a MX record) to your Exchange Servers public IP address (or your firewall which will forward it to your Exchange server).
2. Your Exchange Server has to know that those domain names emails belong to this Exchange Server.
3. There must exist a user on your Exchange Server that has this SMTP address.
This is how it is setup:
For point 1 above, First make sure you have a static IP Address for your public and private IP address, for your private IP Address you can make it static. For your public IP address you will have to obtain one from you ISP (in some cases it means upgrading service). On your firewall make sure that you have setup that port 25 (SMTP) is forwarded to your Exchange Server, if you will have clients that will use POP then port 110 (POP) also has to be forwarded. Then have your ISP that is hosting your DNS records create an MX record that points to your public IP address.
If you don't have a static public IP address, and you don't want to obtain one, read the comment.
For point 2 above, In order to make sure that Exchange knows that it is responsible for your domain names email you have to put it in the recipient policy. In the recipient policy you can also setup which SMTP address will be the default from now on. You enter a domain name in the form @domainname.com i.e. if your domain name is yahoo.com then you enter @yahoo.com.
For point 3 above, In Active Directory you have to make sure that the users have a SMPT address that belongs to this domain, and if they will use Internet email that the one that is for the Internet is the default SMTP address for that user. For new users this will be created automaticly if you changed the recipients policy.