I’m assuimng here that your server is correctly configured to send and recieve mail. I would need a little more information to provide you with steps to set your mail server up.
As far as publishing the server goes, you need to clarify a few points for yourself.
If you intend to publish it with full access then you really only have one choice, Microsoft’s ISA Server. I’ve used ISA Server 2000 to do this, but haven’t had a chance to work with 2004 yet. ISA Server is the only firewall that I am aware of that can inspect the RPC packets to protect your exchange server.
If you only intend to publish Outlook Web Access (OWA) then you need a firewall as well. This doesn’t have to be ISA Server, but sice you are running in a windows environment (at least as far as this is concerned) i’d stick with that for simplicity.
There are a few good guides available, and i’ve included the links below. Let me know how you get on.