I want to deliver email to external non-Exchange hosted users. Both the Exchange and external mail server are using the same domain name. My Exchange accounts are able to send to any other domain name, but if I attempt to send a message to externally hosted email account with the same domain name then I get an error. Please tell me what I need to do here.
You don't mention what version of Exchange you're using so I'll guess 2007 and suggest you look here at what Microsoft calls a shared domain space: http://technet.microsoft.com/en-us/library/bb676395%28EXCHG.80%29.aspx. Note that 2010 does basically the same thing and that while the technique in 2003 isn't quite as great, it works there too.
I'm not familiar with Exchange - can you explicitly state for a given user that the e-mail must be forwarded on to a different server? I.e. forward all mail to email@example.com to the server 192.168.0.1.
Or you could set up a subdomain (e.g. nonexchange.123.com) with the MX records pointing to your non-exchange server, set up firstname.lastname@example.org on your Exchange server, and set up a rule on that user's mailbox that will forward all mail from email@example.com to firstname.lastname@example.org.
The non-exchange user could then SMTP through the Exchange server using their Exchange username/password.